1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > c#快速清除所有文本框中内容

c#快速清除所有文本框中内容

时间:2024-07-11 10:39:47

相关推荐

c#快速清除所有文本框中内容

如何清除Form中所有的文本框内容?

分两种情况:

(1)当所有的文本框都是顶级控件,即它们都直接位于this.Controls(或groupBox.Controls)中,此时遍历一遍清除即可。

(2)当文本框不全处于顶级,即部分包含在某些容器控件内,如groupBox中,由于控件在窗体中是严格分级摆放的。此时的文本框有的位于this.Controls中(即Form控件集中),有的则位于groupBox.Controls中。

对于(1),直接这样写就可:

foreach (Control ctrl in Controls)//或为groupBox1.Controls/panel1.Controls

{

if (ctrl is TextBox)

ctrl.Text = "";

}

写出这样几行简单的代码是为了强调一个地方,当某些文本框是用户自己定义的一个继承TextBox的控件时,像上面那样写,都可识别,但若写成:if (ctrl.GetType() == typeof(TextBox)),这种判断方式相对严格,自定义文本框不会被识别。

为了解决(2)中提出的问题,可写一个更为灵活通用的方法来检测出这些文本框,并将之清空。方法如下:

private void ClearText(Control ctrlTop)

{

if (ctrlTop.GetType() == typeof(TextBox))

ctrlTop.Text = "";

else

{

foreach (Control ctrl in ctrlTop.Controls)

{

ClearText(ctrl); //循环调用

}

}

}

在需要的地方,直接调用ClearText(this)就大功告成了。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。