我有十个组合框WinForm.每个组框包含10个文本框,我已定义每个TextBox名称.如何使用foreach循环获取每个文本框?
Bol*_*olu 14
foreach(Control gb in this.Controls)
{
if(gb is GroupBox)
{
foreach(Control tb in gb.Controls)
{
if(tb is TextBox)
{
//here is where you access all the textboxs.
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是,如果您已经定义了每个TextBox名称,
那么TextBox循环获取每个名称的重点是什么?
您可以在创建它们时定义a List<TextBox>来保存每个引用TextBox,然后只需通过它List来获取每个引用TextBox.
这是我的建议:
foreach(var groupBox in Controls.OfType<GroupBox>())
{
foreach(var textBox in groupBox.Controls.OfType<TextBox>())
{
// Do Something
}
}
Run Code Online (Sandbox Code Playgroud)
或者在一个循环中:
foreach (var textBox in Controls.OfType<GroupBox>().SelectMany(groupBox => groupBox.Controls.OfType<TextBox>()))
{
// Do Something
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
26527 次 |
| 最近记录: |