У меня есть такой код:Как контролировать динамически добавленный пользовательский контроль?
MyUserControl[] myControl = new MyUserControl[10];
когда форма нагрузки:
for(int i = 0; i < 10; i++)
{
myControl[i] = new MyUserControl();
myControl[i].label1.Text = "Title";
this.Controls.Add (myControl[i]);
}
теперь это шоу нормально.
после нажмите кнопку, как показано ниже:
private void Button1_Click(object sender, EventArgs e)
{
myControl[0].label1.Text = "Other Title";
}
Когда я вижу режим отладки, значение было добавлено нормально, но lable1 текст не показывать «другое название».
Итак, я пытаюсь использовать метод ниже, но ничего не работает.
myControl[0].label1.Update();
myControl[0].label1.Invalidate();
myControl[0].label1.Refresh();
Просим, пожалуйста, проконсультируйтесь.
Возможно, вам стоит рассмотреть возможность установки свойства Location, чтобы они не были друг на друга, и вы можете видеть только один сверху. Трудно предположить, что такая проблема должна быть довольно очевидной. –
Хорошо работает, когда я пытаюсь. Это ваш единственный код инициализации? Потому что кажется, что они накладываются друг на друга, когда вы не назначаете правильное местоположение (x, y). – stefankmitph
Прекрасно работает! См. [This] (http://i.stack.imgur.com/vN4gS.gif) –