2011-09-23 50 views

回答

2

您可以通过给定形式的ControlCollection循环,例如frmMain.Controls
现在这将是基本的控制对象,因此您需要测试以确定它是否为TextBox类型。

.NET 2.0 - 你必须检查这个手动
.NET 3.0+ - 使用.OfType<TextBox>扩展方法给你只是一个的IEnumerable<TextBox>列表

要注意,从形式通过迭代这只会给你那个表格上的文本框。如果你将文本框绑定到一个容器,它将不会出现在那里。

最安全的方法是编写一个递归函数,遍历所有控件集合,并将引用传递给测试函数以执行测试和更新。

3

简单的方法是遍历每个控件,请参见下面的代码

foreach (Control C in this.Controls) 
{ 
     if (C is TextBox) 
     { 
      if (C.Text == "") 
      { 
       C.Text = null; 
      } 
     } 
} 
1

试试这个:

foreach(Control c in this.Controls) 
{ 
     if (c.GetType().FullName == "System.Windows.Forms.TextBox") 
     { 
      TextBox t = (TextBox)c; 
      t.Clear(); 
     } 
} 
0

您可以从TextBox控件派生的控件,并覆盖其text属性。

3

它是一种多方式

foreach(Control txt in this.Controls) 
{ 
    if(txt.GetType() == typeof(TextBox)) 
     if(string.IsNullOrEmpty(txt.Text)) 
      txt.Text = null; 
} 

希望它可以帮助

+0

在这里,你基本上设置完全相同的值,这不会使它'null'。 –

+0

我希望现在有道理:) – Sandy

相关问题