2014-05-24 109 views
2

我是新来的Windows窗体编程,所以我的问题可能听起来有点奇怪。如何访问用户在父窗体中定义控件iner控件

我创建了一个用户定义的控制(倒计时)现在我在动态通过点击一个按钮的形式创建ň它没有(添加新的定时器)其工作当然好。 这里是创建代码

private void Addnew_Click(object sender, EventArgs e) 
    { 
     UserControl1.userControl11 = new UserControl1();  
     flowLayoutPanel1.Controls.Add(userControl11); 
    } 

我的用户控件具有Reset按钮复位所有的用户里面的内容定义控制。 它也在工作,但我想要的是允许用户使用窗体上的“全部重置”按钮重置所有创建的定时器。

+0

有很多方法可以做到这一点。不知道你在哪里,卡住这个题目不好的问题是否能帮助你。 http://stackoverflow.com/questions/4955769/better-way-to-find-control-in-asp-net。 –

+0

@TonyHopkinson @TonyHopkinson对不起,但我不明白什么在那里的链接你给我可以请你多帮助 –

+0

@TonyHopkinson你说有很多方法可以告诉我一个简单的方法很多方法。请帮助其紧急PLZ –

回答

0

好的一种方法可以做到这一点。

创建窗体上的List<UserControl1>私有成员呼吁说_myUserControls

在你Addnew处理程序将其添加到列表中。 如果您有删除按钮,请不要忘记从_myUserControls中删除。

将重置方法添加到您的UserControl1,即可完成所需操作。

然后在你的全部重置按钮单击处理

foreach(UserControl1 ctrl in _myUserControls) 
{ 
    ctrl.Reset(); 
} 

乔布斯一个很好的“联合国

我在评论中提到你的答案,会发现你的UserControl1类的所有实例的方式,所以你不需要一个内部列表。

+0

优秀的人非常感谢你,所以我真正需要.. –

+0

一个更多的问题,如果你不介意我使用flowLayoutPanel显示我所有的用户定义控件,但是当我删除/隐藏一个用户定义控件时,空白空间保持原样。下面的控件没有出现你能帮助吗? –

相关问题