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

来源:百度知道 编辑:UC知道 时间:2024/06/08 14:19:46
这个按钮是在toolStrip上的一个,因为内容太多所以想用个数组实现批量清空
关于TextBox我这样写的
private void toolStripButton3_Click(object sender, EventArgs e)
{
TextBox[] tboxes = new TextBox[500];
foreach (TextBox t in tboxes)
t.Text = String.Empty;
}
报错是“未处理NullReferenceException”
另外comboBox、checkBox部分怎么写?
求高手指点!望尽快得到答复!万分感谢
新手上路求详解……错在哪里……应该怎么写……Orz

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;
}
}
}

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