Создание PictureBox, не знаю где ошибка - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте! Делаю проект, необходимо отмечать объекты на карте. Сколько объектов - неизвестно. Я их решила отмечать отдельными PictureBox-ами, чтобы потом можно было их удалять, и при создании вводить информацию об объекте (если подскажете как это можно сделать удобнее - буду благодарна.) В моём варианте pictureBox-ы создаются, их беру с панели управления, наживаю на кнопку, потом на карту и он ставится. Но срабатывание идёт не с первого раза, а только на следующий. Вот код:
 public void MouseButtonClick(object sender, MouseEventArgs e)
        {
            if (pictureBox2.Image != null)
            {
                if (icon != null)// icon - это загружаемая картинка.
                {
                    pb = new System.Windows.Forms.PictureBox();
                    pb.Name = "pictureBox" + count.ToString();
                    pb.Size = new System.Drawing.Size(icon.Width / 2, icon.Height / 2);
                    pb.TabIndex = 1;
                    pb.Image = icon;
                    pb.SizeMode = PictureBoxSizeMode.Zoom;
                    pb.BringToFront();
                    pictureBox2.SendToBack();
                    pb.Location = new System.Drawing.Point(e.X, e.Y);
                    panel1.Controls.Add(pb); 
                    /*Graphics g = Graphics.FromImage(pictureBox2.Image);
                    Graphics gpb = this.pictureBox2.CreateGraphics();
                    Rectangle expansionRectangle = new Rectangle(e.X, e.Y, icon.Width / 2, icon.Height / 2);
                    gpb.DrawImage(icon, expansionRectangle);*/
                    X = e.X;
                    Y = e.Y;
                    count++;
                }
                else
                {
                    MessageBox.Show("Не выбран инструмент");
                }
            }
            else
            {
                MessageBox.Show("Загрузите карту");
            }
        }
То, что закомментировано - это предыдущая попытка делать отметки, в этом случае они появляются сразу, но я не представляю как с ними тогда дальше работать и удалять..

Решение задачи: «Создание PictureBox, не знаю где ошибка»

textual
Листинг программы
arrayofmarks.Add(new Mark(e.X, e.Y, Images[currentimage]));

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4 из 5
Похожие ответы