c# - 如何在父窗体的控件中访问用户定义的控件

标签 c# winforms timer

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

我已经创建了一个用户定义控件(倒数计时器),现在我正在通过单击一个按钮(添加新计时器)在表单中动态地创建 n 没有它工作得很好。 这是创建代码

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

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

最佳答案

好的一种方法。

创建一个 List<UserControl1>您的表单上的私有(private)成员称为 _myUserControls

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

为您的 UserControl1 添加一个 Reset 方法,这就是它需要做的。

然后在您的 Reset all 按钮点击处理程序中

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

乔布斯是个好人

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

关于c# - 如何在父窗体的控件中访问用户定义的控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23849293/

相关文章:

c# - 具有不同批量大小的 TPL 数据流和 BatchJoinBlock

c# - 如何在 C# 中自动递增数字?

c# - 在字符串 C# WinForm 应用程序中将 '\' 替换为 '/'

javascript - 安排 PHP 文件运行

java - Swing 计时器不停止

c# - ASP.NET - 单元测试 MembershipProvider

c# - 使用 EF 和存储过程进行延迟加载

javascript - NodeJS 设置超时

C# - 无法在 WinForms 的列表框中执行键值对

c# - Visual Studio 设计 View - 窗体为空白