C# 一个窗体想点击按钮批量清空所有TextBox、comboBox、checkBox的数据,怎么实现?

2024-12-22 21:47:36
推荐回答(5个)
回答1:

加一个容器就能解决你所有问题了,你自己的方法有问题的。你new的东西,并不是窗体上有的。
把TextBox、comboBox、checkBox放在一个Panel上或者其他容器上,然后
foreach (Control c in this.panel1.Controls)
{
if (c is TextBox)
{
((TextBox)c).Text = string.Empty;
}
if (c is ComboBox)
{
((ComboBox)c).Items.Clear();
}
if (c is CheckBox)
{
((CheckBox)c).Checked = false;
}
}

回答2:

new 的TextBox并不是你Form上的TextBox

参考代码:
private void button1_Click(object sender, EventArgs e)
{

foreach (Control c in this.Controls)
{
if (c.GetType().ToString().Contains("TextBox"))
{
((TextBox)c).Text = "";
}
if (c.GetType().ToString().Contains("ComboBox"))
{
((ComboBox)c).Text = "";
}
if (c.GetType().ToString().Contains("CheckBox"))
{
((CheckBox)c).Checked = false;
}
}
}

回答3:

foreach (Control ct in this.Controls)
{
if (ct.GetType().Name.ToLower() == "textbox")
{ ct.Text = ""; }
}

注意 this.Controls
如果textbox是某个控件(groupBox1)的子控件..
则要写成 this.groupBox1.Controls

回答4:

别用数组。用List<>把。
你这样定义的textbox还没有初始化.
所以引用错误.
List listtb=new List();

回答5:

你的TextBox数组只是new了一个空的数组
遍历它意义何在?