我设计了一个窗口表单,其中textbox1
直接放在表单上,textbox2
放在goupbox1
上。在代码下方运行只会更改textbox1
的文字。我google了很多,但我找不到解决方案。我怎样才能到达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
}
}
答案 0 :(得分:2)
您可以使用递归 我建议您使用以下扩展方法:
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);