Проблема в создании элементов управления метками в Windows Forms Application - PullRequest
0 голосов
/ 10 февраля 2010

Я создал Pictureboxes динамически в приложении Windows формы ... его работает хорошо ... Теперь я должен динамически генерировать поля меток, и эти поля меток будут отображаться в нижней части каждого графического блока, и в них должно отображаться соответствующее изображение. как мне это сделать? Дайте мне решение этого ...

Заранее спасибо ... И мое кодирование здесь ..

           int Left = this.Left+200;
           int Top = this.Top;

           for(int i=0;i<Num_Picbox;i++)
           {
           shapes[i] = new PictureBox();
           shapes[i].Location = new Point(Left,Top);
           Left += 200;
           Top += i + 0;

           shapes[i].Size = new Size(160,160);
           shapes[i].BackColor = Color.Black;
           shapes[i].Visible = true;
           shapes[i].Name = i.ToString();
           shapes[i].BorderStyle = BorderStyle.FixedSingle;

           flowLayoutPanel1.Controls.Add(shapes[i]);
           flowLayoutPanel1.WrapContents = true;
           shapes[i].Click += new EventHandler(PictureBox_Click);
          }

Ответы [ 2 ]

2 голосов
/ 10 февраля 2010

Я думаю, что лучшим способом было бы создать пользовательский элемент управления с изображением и надписью, расположенной так, как вы хотите, а затем динамически добавить их в панель потока. делая формы [] массивом пользовательского типа элемента управления.

1 голос
/ 10 февраля 2010

Создайте панель для каждого изображения, которое содержит ярлык, прикрепленный к Bottom, а ваше графическое окно - Fill. Добавьте эту панель на панель макета потока вместо графического блока. Сначала убедитесь, что вы добавили свой графический блок в коллекцию элементов управления панели, чтобы обеспечить правильную работу стыковки.

shapes[i].Dock = DockStyle.Fill;
flowLayoutPanel1.Controls.Add(
    new Panel {
        Controls = {
            shapes[i],
            new Label {
                Dock = DockStyle.Bottom,
                Text = i.ToString()
            }
        }
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...