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
我会在您正在搜索的控件中添加一个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控件上递归迭代