0

I am creating a program that layers images on top of each other but I want to be able to delete the overlayed image after by clicking on it in a list then clicking delete. Currently I have image one as the background, I want to layer over image two, I want image two to be added as an object to an array, and I want to be able to remove said object after that.

`

using System;
using System.Drawing;
using System.Windows.Forms;

namespace BattlePlannerTryTwo
{
    public partial class Form1 : Form
    {
        Image file;
        Image Mapfile;
        Point click;
        public Form1()
        {
            InitializeComponent();
            Strats.SizeMode = PictureBoxSizeMode.Zoom;
            textBox1.Location = new Point();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            //On Form Load
            Strats.Width = this.Width - 400;
            Strats.Height = this.Height - 90;

            ObjectListView.Width = 300;
            ObjectListView.Height = this.Height - 70;
            ObjectListView.Location = new Point(this.Width-330,10);

            textBox2.Location = new Point(200, this.Height - 70);
            textBox1.Location = new Point(12, this.Height - 70);

            OperatorComboBox.Location = new Point(100, this.Height - 70);
            MapComboBox.Location = new Point(290, this.Height - 70);

            SaveBtn.Location = new Point(390, this.Height - 70);
            ClearPageBtn.Location = new Point(450, this.Height - 70);
        }

        private void StratBox_Click(object sender, EventArgs e)
        {
            //Strat Picture Box Pressed
            click = MousePosition;
            PictureBox Operator = new PictureBox();
            Operator.Image = file;
            Operator.Width = 100;
            Operator.Height = 100;
            Operator.Location = new Point(12, 100);
            Strats.Controls.Add(Operator);
        }

        private void OperatorComboBox_SelectedIndexChanged(object sender, EventArgs e)
        {
            //Operator Combo Box
            //This if statment controls which operator is selected based on the combobox drop down
            if (OperatorComboBox.SelectedItem.ToString().Equals("Ace"))
            {
                file = Properties.Resources.ace;
            }else if (OperatorComboBox.SelectedItem.ToString().Equals("Alibi"))
            {
                file = Properties.Resources.alibi;
            }
            else if (OperatorComboBox.SelectedItem.ToString().Equals("Amaru"))
            {
                file = Properties.Resources.amaru;
            }
            else if (OperatorComboBox.SelectedItem.ToString().Equals("Aruni"))
            {
                file = Properties.Resources.aruni;
            }
            else if (OperatorComboBox.SelectedItem.ToString().Equals("Ash"))
            {
                file = Properties.Resources.ash;
            }
            else if (OperatorComboBox.SelectedItem.ToString().Equals("Azami"))
            {
                file = Properties.Resources.azami;
            }
            else if (OperatorComboBox.SelectedItem.ToString().Equals("Bandit"))
            {
                file = Properties.Resources.bandit;
            }
            else if (OperatorComboBox.SelectedItem.ToString().Equals("Blackbeard"))
            {
                file = Properties.Resources.blackbeard;
            }
            else if (OperatorComboBox.SelectedItem.ToString().Equals("Blitz"))
            {
                file = Properties.Resources.blitz;
            }
            else if (OperatorComboBox.SelectedItem.ToString().Equals("Buck"))
            {
                file = Properties.Resources.buck;
            }
            else if (OperatorComboBox.SelectedItem.ToString().Equals("Capitao"))
            {
                file = Properties.Resources.capitao;
            }
            else if (OperatorComboBox.SelectedItem.ToString().Equals("Castle"))
            {
                file = Properties.Resources.castle;
            }
            else if (OperatorComboBox.SelectedItem.ToString().Equals("Caveira"))
            {
                file = Properties.Resources.caveira;
            }
            else if (OperatorComboBox.SelectedItem.ToString().Equals("Clash"))
            {
                file = Properties.Resources.clash;
            }
            else if (OperatorComboBox.SelectedItem.ToString().Equals("Doc"))
            {
                file = Properties.Resources.doc;
            }
            else if (OperatorComboBox.SelectedItem.ToString().Equals("Dokkaebi"))
            {
                file = Properties.Resources.dokkaebi;
            }
            else if (OperatorComboBox.SelectedItem.ToString().Equals("Echo"))
            {
                file = Properties.Resources.echo;
            }
            else if (OperatorComboBox.SelectedItem.ToString().Equals("Ela"))
            {
                file = Properties.Resources.ela;
            }
            else if (OperatorComboBox.SelectedItem.ToString().Equals("Finka"))
            {
                file = Properties.Resources.finka;
            }
            else if (OperatorComboBox.SelectedItem.ToString().Equals("Flores"))
            {
                file = Properties.Resources.flores;
            }
            else if (OperatorComboBox.SelectedItem.ToString().Equals("Frost"))
            {
                file = Properties.Resources.frost;
            }
            else if (OperatorComboBox.SelectedItem.ToString().Equals("Fuze"))
            {
                file = Properties.Resources.fuze;
            }
            else if (OperatorComboBox.SelectedItem.ToString().Equals("Glaz"))
            {
                file = Properties.Resources.glaz;
            }
            else if (OperatorComboBox.SelectedItem.ToString().Equals("Goyo"))
            {
                file = Properties.Resources.goyo;
            }
            else if (OperatorComboBox.SelectedItem.ToString().Equals("Gridlock"))
            {
                file = Properties.Resources.gridlock;
            }
            else if (OperatorComboBox.SelectedItem.ToString().Equals("Grim"))
            {
                file = Properties.Resources.grim;
            }
            else if (OperatorComboBox.SelectedItem.ToString().Equals("Hibana"))
            {
                file = Properties.Resources.hibana;
            }
            else if (OperatorComboBox.SelectedItem.ToString().Equals("Iana"))
            {
                file = Properties.Resources.iana;
            }
            else if (OperatorComboBox.SelectedItem.ToString().Equals("IQ"))
            {
                file = Properties.Resources.iq;
            }
            else if (OperatorComboBox.SelectedItem.ToString().Equals("Jackal"))
            {
                file = Properties.Resources.jackal;
            }
            else if (OperatorComboBox.SelectedItem.ToString().Equals("Jager"))
            {
                file = Properties.Resources.jager;
            }
            else if (OperatorComboBox.SelectedItem.ToString().Equals("Kaid"))
            {
                file = Properties.Resources.kaid;
            }
            else if (OperatorComboBox.SelectedItem.ToString().Equals("Kali"))
            {
                file = Properties.Resources.kali;
            }
            else if (OperatorComboBox.SelectedItem.ToString().Equals("Kapkan"))
            {
                file = Properties.Resources.kapkan;
            }
            else if (OperatorComboBox.SelectedItem.ToString().Equals("Lesion"))
            {
                file = Properties.Resources.lesion;
            }
            else if (OperatorComboBox.SelectedItem.ToString().Equals("Lion"))
            {
                file = Properties.Resources.lion;
            }
            else if (OperatorComboBox.SelectedItem.ToString().Equals("Maestro"))
            {
                file = Properties.Resources.maestro;
            }
            else if (OperatorComboBox.SelectedItem.ToString().Equals("Maverick"))
            {
                file = Properties.Resources.maverick;
            }
            else if (OperatorComboBox.SelectedItem.ToString().Equals("Melusi"))
            {
                file = Properties.Resources.melusi;
            }
            else if (OperatorComboBox.SelectedItem.ToString().Equals("Mira"))
            {
                file = Properties.Resources.mira;
            }
            else if (OperatorComboBox.SelectedItem.ToString().Equals("Montagne"))
            {
                file = Properties.Resources.montagne;
            }
            else if (OperatorComboBox.SelectedItem.ToString().Equals("Mozzie"))
            {
                file = Properties.Resources.mozzie;
            }
            else if (OperatorComboBox.SelectedItem.ToString().Equals("Mute"))
            {
                file = Properties.Resources.mute;
            }
            else if (OperatorComboBox.SelectedItem.ToString().Equals("Nokk"))
            {
                file = Properties.Resources.nokk;
            }
            else if (OperatorComboBox.SelectedItem.ToString().Equals("Nomad"))
            {
                file = Properties.Resources.nomad;
            }
            else if (OperatorComboBox.SelectedItem.ToString().Equals("Oryx"))
            {
                file = Properties.Resources.oryx;
            }
            else if (OperatorComboBox.SelectedItem.ToString().Equals("Osa"))
            {
                file = Properties.Resources.osa;
            }
            else if (OperatorComboBox.SelectedItem.ToString().Equals("Pulse"))
            {
                file = Properties.Resources.pulse;
            }
            else if (OperatorComboBox.SelectedItem.ToString().Equals("Rook"))
            {
                file = Properties.Resources.rook;
            }
            else if (OperatorComboBox.SelectedItem.ToString().Equals("Sens"))
            {
                file = Properties.Resources.sens;
            }
            else if (OperatorComboBox.SelectedItem.ToString().Equals("Sledge"))
            {
                file = Properties.Resources.sledge;
            }
            else if (OperatorComboBox.SelectedItem.ToString().Equals("Smoke"))
            {
                file = Properties.Resources.smoke;
            }
            else if (OperatorComboBox.SelectedItem.ToString().Equals("Solis"))
            {
                file = Properties.Resources.solis;
            }
            else if (OperatorComboBox.SelectedItem.ToString().Equals("Tachanka"))
            {
                file = Properties.Resources.tachanka;
            }
            else if (OperatorComboBox.SelectedItem.ToString().Equals("Thatcher"))
            {
                file = Properties.Resources.thatcher;
            }
            else if (OperatorComboBox.SelectedItem.ToString().Equals("Thermite"))
            {
                file = Properties.Resources.thermite;
            }
            else if (OperatorComboBox.SelectedItem.ToString().Equals("Thorn"))
            {
                file = Properties.Resources.thorn;
            }
            else if (OperatorComboBox.SelectedItem.ToString().Equals("Thunderbird"))
            {
                file = Properties.Resources.thunderbird;
            }
            else if (OperatorComboBox.SelectedItem.ToString().Equals("Twitch"))
            {
                file = Properties.Resources.twitch;
            }
            else if (OperatorComboBox.SelectedItem.ToString().Equals("Valkyrie"))
            {
                file = Properties.Resources.valkyrie;
            }
            else if (OperatorComboBox.SelectedItem.ToString().Equals("Vigil"))
            {
                file = Properties.Resources.vigil;
            }
            else if (OperatorComboBox.SelectedItem.ToString().Equals("Wamai"))
            {
                file = Properties.Resources.wamai;
            }
            else if (OperatorComboBox.SelectedItem.ToString().Equals("Warden"))
            {
                file = Properties.Resources.warden;
            }
            else if (OperatorComboBox.SelectedItem.ToString().Equals("Ying"))
            {
                file = Properties.Resources.ying;
            }
            else if (OperatorComboBox.SelectedItem.ToString().Equals("Zero"))
            {
                file = Properties.Resources.zero;
            }
            else if (OperatorComboBox.SelectedItem.ToString().Equals("Zofia"))
            {
                file = Properties.Resources.zofia;
            }
        }

        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            //Dont worry about this one
        }

        private void MapComboBox_SelectedIndexChanged(object sender, EventArgs e)
        {
            //Map Combo Box
            if (MapComboBox.SelectedItem.ToString().Equals("Oragan Basement"))
            {
                Mapfile = Properties.Resources.OraganBasement;
                Strats.Image = Mapfile;
            }else if (MapComboBox.SelectedItem.ToString().Equals("Oragan Kids"))
            {
                Mapfile = Properties.Resources.OraganKids;
                Strats.Image = Mapfile;
            }
        }

        private void SaveBtn_Click(object sender, EventArgs e)
        {

        }

        private void DisplayImage()
        {

        }

        private void Strats_Paint(object sender, PaintEventArgs e)
        {
            
        }
    }
}

`

I tried the code above and I can't seem to layer another image on top without creating a bitmap, but once it is a bit map I can't remove the new image that has been layered over.

rioV8
  • 24,506
  • 3
  • 32
  • 49
Cory G
  • 1
  • 1
  • 1
    why do we need to see the 50 alternatives, 3 is enough to show the principle – rioV8 Jan 26 '23 at 13:45
  • 1
    Sorry that was just all my code, I posted it in hopes people wouldn't get confused. – Cory G Jan 26 '23 at 13:48
  • this is more a general tip but i would recommend assigning `OperatorComboBox.SelectedItem.ToString()` to a variable instead of continuously calling for it. You can also compare strings by simply writing == [see](https://www.tutorialsteacher.com/articles/equality-operator-vs-equals-method-in-csharp#:~:text=In%20C%23%2C%20the%20equality%20operator,instances%20are%20equal%20or%20not.) And instead of 50 differen if else's, I'm pretty sure you can search for resources like [this](https://stackoverflow.com/a/17837224/18278998) since the names of the operators are equal to the resource name – Roe Jan 26 '23 at 14:06
  • After a quick search i found [this post](https://stackoverflow.com/a/32289470/18278998). Hope it helps – Roe Jan 26 '23 at 14:12

0 Answers0