博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WinForm 清空界面控件值的小技巧
阅读量:7044 次
发布时间:2019-06-28

本文共 2136 字,大约阅读时间需要 7 分钟。

在WinForm里面有时候需要清空自己输入内容或是选择的选项,以便重新操作流程,那么一般你是怎么清空界面各个控件值的呢?如果窗体里面控件, 尤其是TextBox控件比较多的时候,代码里面是不是要设置每个控件的Text属性值为空呢?下面我用这个例子,来探讨下清空界面控件值的小技巧。而且 还能复用。不必每个窗体都做这些枯燥、无聊的工作。

一般的做法是在清除控件的事件里面添加下面这样的代码:

代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->       private void btnClear_Click(object sender, EventArgs e)        {            this.txbAccount.Text = "";            this.txbAddress.Text = "";            this.txbCmp.Text = "";            this.chkCash.Checked = false;            this.cmbDepart.Text = "";            //.............窗体里面各类要清空控件;        }

 

 设想如果这样做,一个窗体我们清空界面需用10行代码,50个窗体那么就是500行代码,大量重复的劳动,如果我们用下面这种方法的话,那么项目里面代码量将大大减少,而且封装到类里面,可以重用。(当然这个函数还可以重载、扩展,以便适应不同的需求)

private void btnClear_Click(object sender, EventArgs e){     ClearCntrValue(this.pnlContent);}
代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->///         /// 清除容器里面某些控件的值        ///         /// 容器类控件        public void ClearCntrValue(Control parContainer)        {            for (int index = 0; index < parContainer.Controls.Count; index++)            {                // 如果是容器类控件,递归调用自己                if (parContainer.Controls[index].HasChildren)                {                    ClearCntrValue(parContainer.Controls[index]);                }                else                {                    switch(parContainer.Controls[index].GetType().Name)                    {                        case "TextBox":                            parContainer.Controls[index].Text = "";                            break;                        case "RadioButton":                            ((RadioButton)(parContainer.Controls[index])).Checked = false;                            break;                        case "CheckBox":                            ((CheckBox)(parContainer.Controls[index])).Checked = false;                            break;                        case "ComboBox":                            ((ComboBox)(parContainer.Controls[index])).Text = "";                            break;                    }                }            }        }

转载地址:http://upeal.baihongyu.com/

你可能感兴趣的文章
Find 75000万像素和诺基亚的不是一个概念
查看>>
mysql处理添加外键时 error 150 问题
查看>>
企业如何针对用户数据进行有效保护
查看>>
Tomcat启动时报 java.lang.OutOfMemoryError: Java heap space
查看>>
Active Directory 基础回顾 (三)FSMO迁徙方式小总结
查看>>
Shell Script不同运行方式的区别
查看>>
Linux系统基本网络配置之ifconfig命令
查看>>
看几大IT公司的JSON利器
查看>>
Cocos2d-x 物理场景简单搭建
查看>>
认识“JPG、TXT”格式的病毒
查看>>
redhat6.2配置本地yum源
查看>>
RabbitMQ(四)
查看>>
IBM System x3850 X5如何级联
查看>>
php 类,对象,继承,接口,抽象
查看>>
android 多个activity 共用一套广播时,写个父类封装广播接收
查看>>
Opensuse 13.1 硬盘安装与基本配置
查看>>
spring mvc 新搭建web项目 不跳转web.xml中配置的欢迎页面
查看>>
我的友情链接
查看>>
Web Service Consumer认证
查看>>
zversion.go: no such file or directory
查看>>