C#winform:从每个选项卡页面访问用户控件中的控件

本文关键字:控件 访问 用户 选项 C#winform | 更新日期: 2023-09-27 18:25:36

我有一个用户控件,在这个控件中我有一堆文本框和标签。现在我已经将此用户控件链接到另一个窗体的选项卡控件。这是我正在使用的代码

TabPage tp  = new TabPage();
tp.Controls.Add(TipUserControl);
tp.Text = "Tab "+ tabctrl_Fields.TabCount + 1;
tabctrl_Fields.TabPages.Add(tp);

当我点击"添加另一个选项卡"按钮时,上面的代码就会执行,并创建一个带有文本框的新选项卡页面(类似于选项卡1)。

现在我要寻找的是,当用户点击表单中的"完成"按钮(不在用户控件中)时,它应该能够循环浏览该选项卡中的每个选项卡和每个控件(文本框、标签等)。有人能建议如何编写此代码吗?

提前感谢,Swamy

C#winform:从每个选项卡页面访问用户控件中的控件

我会在您正在搜索的控件中添加一个Tag,并使用这种方法:能够通过标签属性找到WinForm控件

private void FindTag(Control.ControlCollection controls)
{
    foreach (Control c in controls)
    {
        if (c.Tag != null)
        //logic
       if (c.HasChildren)
           FindTag(c.Controls); //Recursively check all children controls as well; ie groupboxes or tabpages
    }
}

或者在Tab控件上递归迭代