Новый элемент управления в форме из другого класса - PullRequest
0 голосов
/ 13 февраля 2012

У меня есть класс в том же файле, что и класс Form1: Form (непосредственно выполняется), и я хотел бы создать новый элемент управления (label thisObj = new label ();) внутри класса.Я попытался использовать следующий код:

Form1 form = new Form1();
label thisObj = new label();
thisObj.Name = "One";
form.Controls.Add(thisObj);

Однако, когда я делаю это, окно формы не загружается при запуске отладки.

РЕДАКТИРОВАТЬ: строка "Form1 form = new Form1 () " заставляет форму не загружаться.

Ответы [ 3 ]

2 голосов
/ 13 февраля 2012

Попробуйте с помощью:

this.Controls.Add(thisObj);

Это добавит элемент управления к текущей форме.

1 голос
/ 13 февраля 2012

Чтобы просто добавить элемент управления в текущую форму, правильный код от Фредерика, например:

var thisObj = new Label { Name = "One", Text = "Some Text" };
Controls.Add(thisObj);

Это нормально, что Form1 не показывает, вы никогда не вызываете метод Show ().Если вы хотите показать Form1 с добавленной новой меткой, это код:

var form = new Form1();
var thisObj = new Label { Name = "One", Text = "Some Text" };
form.Controls.Add(thisObj);
form.Show();

Форма, которая будет загружена по умолчанию в ваше приложение WindowsForms, определена в файле 'Program.cs':

Application.Run(new Form1);
0 голосов
/ 20 февраля 2012

Я обошел это, отправив экземпляр Form через конструктор класса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...