我是Windows窗体编程的新手,所以我的问题听起来有点奇怪。

我已经创建了一个用户定义控件(倒数计时器),现在我通过单击一个按钮(添加新计时器)以一种形式很好地动态创建了一个控件。
这是创建代码

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


我的用户控件有一个Reset按钮,用于重置用户定义控件内的所有内容。
它也可以使用,但是我要允许用户使用表单上的“全部重置”按钮重置所有已创建的计时器。

最佳答案

好吧,一种方法。

在名为say _myUserControls的表单上创建一个List<UserControl1>私人成员

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

在您的UserControl1中添加一个Reset方法,即可完成所需的工作。

然后在“全部重置”按钮中单击处理程序

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


乔布斯很好

我在注释中提到的答案将是一种查找UserControl1类的所有实例的方式,因此您不需要内部列表。

09-28 00:54