C# 使用foreach循环检索TextBox';它在一个分组框中
我在C# 使用foreach循环检索TextBox';它在一个分组框中,c#,.net,winforms,C#,.net,Winforms,我在WinForm中有十个分组框。每个组框包含10个文本框,我已经定义了每个TextBox名称。如何使用foreach循环获取每个文本框?请尝试以下代码 Control.ControlCollection coll = this.Controls; foreach(Control c in coll) { if(c != null) } 以下是我的建议: foreach(var groupBox in Controls.OfType<GroupBox>()) { for
WinForm
中有十个分组框。每个组框包含10个文本框,我已经定义了每个TextBox
名称。如何使用foreach循环获取每个文本框?请尝试以下代码
Control.ControlCollection coll = this.Controls;
foreach(Control c in coll) {
if(c != null)
}
以下是我的建议:
foreach(var groupBox in Controls.OfType<GroupBox>())
{
foreach(var textBox in groupBox.Controls.OfType<TextBox>())
{
// Do Something
}
}
foreach(Controls.OfType()中的var groupBox)
{
foreach(groupBox.Controls.OfType()中的var textBox)
{
//做点什么
}
}
或者将其放在一个循环中:
foreach (var textBox in Controls.OfType<GroupBox>().SelectMany(groupBox => groupBox.Controls.OfType<TextBox>()))
{
// Do Something
}
foreach(Controls.OfType()中的var textBox.SelectMany(groupBox=>groupBox.Controls.OfType())
{
//做点什么
}
但是如果您定义了每个文本框名称
通过循环获取每个TextBox
有什么意义
您可以定义一个
列表
,在创建时保存每个文本框
的引用,然后只需浏览列表
,即可访问每个文本框请正确标记问题。-1表示:标记,格式。小写。。等等。首先找到groupbox类型的控件,然后跳入并在ITI中获取textbox类型的控件。如果需要这样做,则说明您做错了什么。你已经知道盒子的名字了对吗?谢谢你的帮助很有用谢谢你的帮助很有用
foreach (var ctrl in gbDatabaseColumns.Controls)
{
if (ctrl is DevExpress.XtraEditors.TextEdit)
{
StoreTextEdit(config, (ctrl as DevExpress.XtraEditors.TextEdit));
}
}
foreach (var ctrl in gbDatabaseColumns.Controls)
{
if (ctrl is DevExpress.XtraEditors.TextEdit)
{
StoreTextEdit(config, (ctrl as DevExpress.XtraEditors.TextEdit));
}
}