假设我不想使用在Csharp winform中将所有空字符串文本框(“”)设置为空值的简单方法是什么?
if (string.IsNullOrEmpty(textbox1.Text))
{
textbox1.Text = null;
}
每一个TextBox控件在形式上,有没有更简单的方法来做到这一点?
假设我不想使用在Csharp winform中将所有空字符串文本框(“”)设置为空值的简单方法是什么?
if (string.IsNullOrEmpty(textbox1.Text))
{
textbox1.Text = null;
}
每一个TextBox控件在形式上,有没有更简单的方法来做到这一点?
您可以通过给定形式的ControlCollection循环,例如frmMain.Controls
现在这将是基本的控制对象,因此您需要测试以确定它是否为TextBox类型。
.NET 2.0 - 你必须检查这个手动
.NET 3.0+ - 使用.OfType<TextBox>
扩展方法给你只是一个的IEnumerable<TextBox>
列表
要注意,从形式通过迭代这只会给你那个表格上的文本框。如果你将文本框绑定到一个容器,它将不会出现在那里。
最安全的方法是编写一个递归函数,遍历所有控件集合,并将引用传递给测试函数以执行测试和更新。
简单的方法是遍历每个控件,请参见下面的代码
foreach (Control C in this.Controls)
{
if (C is TextBox)
{
if (C.Text == "")
{
C.Text = null;
}
}
}
试试这个:
foreach(Control c in this.Controls)
{
if (c.GetType().FullName == "System.Windows.Forms.TextBox")
{
TextBox t = (TextBox)c;
t.Clear();
}
}
您可以从TextBox控件派生的控件,并覆盖其text属性。
它是一种多方式
foreach(Control txt in this.Controls)
{
if(txt.GetType() == typeof(TextBox))
if(string.IsNullOrEmpty(txt.Text))
txt.Text = null;
}
希望它可以帮助
在这里,你基本上设置完全相同的值,这不会使它'null'。 –
我希望现在有道理:) – Sandy
@Sun - 你不能文本框的文本值设置为空值...如果你设置它必须是空白没有别的... –
你为什么想这样做?几乎没有意义 – V4Vendetta