我的winform有15个textBox,其Name有规律,依次为textBox1,textBox2,....,textBox15,
而我现在希望能够将其连续清空,而不是一个一个的去clear,我用的程序如下:for (int i = 1; i <= 15; i++)
{
foreach (Control c in this.Controls)
{
if (c.Name == "textBox" + i.ToString())
{
((TextBox)c).Text = "";
}
}
}
可是执行后却没有什么反应,这是为什么呢?该如何写呢?
而我现在希望能够将其连续清空,而不是一个一个的去clear,我用的程序如下:for (int i = 1; i <= 15; i++)
{
foreach (Control c in this.Controls)
{
if (c.Name == "textBox" + i.ToString())
{
((TextBox)c).Text = "";
}
}
}
可是执行后却没有什么反应,这是为什么呢?该如何写呢?
=======
if (c is TextBox && c.ID == "textBox" + i.ToString())
{
foreach (Control c in this.Controls)
{
if (c is TextBox && c.Name.Equals("textBox" + i))
{
}
}
}
或 this.Controls("textBox" + i) as TextBox
{
if (c.Name == "textBox" + i.ToString())
{
TextBox t =c as TextBox;
t.text="";
}
}
foreach (Control c in this.Controls)
{
if (typeof(c)==TextBox)//这里具体写法可能不对,不过思路是只要是textbox,就清空
{
TextBox t =c as TextBox;
t.text="";
}
}
你的textbox是不是名字修改过了,不是默认的名字了?
如果你想实现清空。上面的方法都不错。或是指定一下
TextBox[] textboxArray = new TextBox[]
{
textBox1,
textBox2,
textBox3,
textBox4,
textBox5,
textBox6,
textBox7,
textBox8,
textBox9,
textBox10,
textBox11,
textBox12,
textBox13,
textBox14,
textBox15};
foreach (TextBox t in textboxArray)
{
t.Text = "";
}
private TextBox[] tbs = { textBox1, textBox2, textBox3,…… };就不用一个控件一个控件的去判断了。
for (int i = 0; i < 15; i++)
tbs[i].Text = string.Empty;
谢谢各位!