如何访问组框中的文本框?
How can I access to a text box which is in a group box?
我设计了一个windows表格,textbox1
直接放在表格上,textbox2
放在goupbox1
上。 运行 下面的代码仅更改 textbox1
的文本。我在谷歌上搜索了很多,但找不到解决方案。我怎样才能达到 textbox2
?
public Form1()
{
InitializeComponent();
foreach (TextBox txtBox in this.Controls.OfType<TextBox>())
{
txtBox.Enter += textBox_Enter;
txtBox.Text = "123"; //To test if the text box is recognized or not
}
}
你可以使用递归。
我建议您使用以下扩展方法:
public static IEnumerable<T> GetAllControls<T>(Control control)
{
var controls = control.Controls.OfType<T>();
return control.Controls.Cast<Control>()
.Aggregate(controls, (current, c) => current.Concat(GetAllControls<T>(c)));
}
用法:
var textBoxes = GetAllControls<TextBox>(this);
我设计了一个windows表格,textbox1
直接放在表格上,textbox2
放在goupbox1
上。 运行 下面的代码仅更改 textbox1
的文本。我在谷歌上搜索了很多,但找不到解决方案。我怎样才能达到 textbox2
?
public Form1()
{
InitializeComponent();
foreach (TextBox txtBox in this.Controls.OfType<TextBox>())
{
txtBox.Enter += textBox_Enter;
txtBox.Text = "123"; //To test if the text box is recognized or not
}
}
你可以使用递归。
我建议您使用以下扩展方法:
public static IEnumerable<T> GetAllControls<T>(Control control)
{
var controls = control.Controls.OfType<T>();
return control.Controls.Cast<Control>()
.Aggregate(controls, (current, c) => current.Concat(GetAllControls<T>(c)));
}
用法:
var textBoxes = GetAllControls<TextBox>(this);