Элементы управления, добавленные динамически, не отображаются в моей форме - PullRequest
0 голосов
/ 11 октября 2011

Я добавляю элементы управления динамически в форму, но я не вижу эти новые элементы управления.

Мой код:

frmFormulario myform = new frmFormulario();

for (int i = 0; i < elements.Count; i++)
{
   String nm = elements[i].name;
   String chk = "chk"+nm;
   CheckBox checkboxWS = new CheckBox();
   checkboxWS.Name = chk;
   checkboxWS.Checked = true;
   checkboxWS.Visible = true;

   checkboxWS.Width.Equals(40);


   myform.Controls.Add(checkboxWS);
   myform.Controls.SetChildIndex(checkboxWS, 0);
}

Кто-нибудь может определить проблему?

Спасибо

Моя среда - C # Visual Studio 2010

Ответы [ 3 ]

1 голос
/ 11 октября 2011

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

1 голос
/ 11 октября 2011

Попробуйте добавить

myform.Show();  //or myform.ShowDialog;

после цикла for.Если вы хотите полностью поработать над этим новым окном (myform) и отказаться от первого или родительского, попробуйте создать его в новом потоке.

Надеюсь, это поможет.

0 голосов
/ 11 октября 2011

Где вы показываете myform, экземпляр frmFormulario?
В настоящее время вы создаете новую форму и не отображаете ее.

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