[英]How to control that dynamically added usercontrol?
我有这样的代码:
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();
请,请指教。
我不明白您的想法希望这个例子对您有用
private void Button1_Click(object sender, EventArgs e)
{
//myControl[0].label1.Text = "Other Title";
MyUserControl ctrl = null;
foreach (var c in this.Controls)
{
if (c.GetType().Name == "MyUserControl")
{
var myctrl = (MyUserControl)c;
if (myctrl.Text == "Title")
{
ctrl = myctrl;
break;
}
}
}
if (ctrl != null)
{
ctrl.Text = "Other Title";
}
}
这是一个非常简单的示例,代码可以正常工作,您必须根据需要进行增强
谢谢大家 我在这件事上有根本原因。
myControl[0].label1.Text = "Other Title";
myControl[0].BringToFront(); // <- Solved problem with this code.
我不知道为什么z顺序会扭曲。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.