西西软件园多重安全检测下载网站、值得信赖的软件下载站!
软件
软件
文章
搜索

首页编程开发ASP.NET → c#快速清除Form中所有文本框中内容

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

相关软件相关文章发表评论 来源:西西整理时间:2013/5/16 9:51:31字体大小:A-A+

作者:西西点击:308次评论:0次标签: 清除

  • 类型:卸载删除大小:700KB语言:英文 评分:7.1
  • 标签:
立即下载

如何清除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)就大功告成了

    相关评论

    阅读本文后您有什么感想? 已有人给出评价!

    • 8 喜欢喜欢
    • 3 顶
    • 1 难过难过
    • 5 囧
    • 3 围观围观
    • 2 无聊无聊

    热门评论

    最新评论

    第 1 楼 湖北武汉电信 网友 客人 发表于: 2013/6/20 17:21:29
    不错的分享。

    支持( 0 ) 盖楼(回复)

    发表评论 查看所有评论(0)

    昵称:
    表情: 高兴 可 汗 我不要 害羞 好 下下下 送花 屎 亲亲
    字数: 0/500 (您的评论需要经过审核才能显示)