WinForm 清空界面控件值的小技巧

在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/-->/// <summary>
        /// 清除容器里面某些控件的值
        /// </summary>
        /// <param name="parContainer">容器类控件</param>
        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;
                    }
                }
            }
        }
时间: 2024-10-31 13:06:24

WinForm 清空界面控件值的小技巧的相关文章

winform 复选框控件赋值的小技巧

前几天,有一位园友写了一篇不错的文章<WinForm 清空界面控件值的小技巧>,文章里面介绍了怎么清空界面各个控件值的一个好技巧,这个方法确实是不错的,在繁杂的界面控件值清理中,可谓省时省力. 本人在开发Winform程序中,也有一个类似的小技巧,不是清空控件值,而是赋值,给复选框赋值和获取值的小技巧,分享讨论一下. 应用场景是这样的,如果你有一些需要使用复选框来呈现内容的时候,如下面两图所示:   以上的切除部分的内容,是采用在GroupBox中放置多个CheckBox的方式:其实这个部分也

求助:winform子窗体控件值保存的问题

问题描述 一个主窗体,两三个子窗体,通过主窗体打开子窗体编辑里面textbox中的内容,然后保存关闭子窗体.主窗体调用子窗体里面的值进行运算.求教各位大神,程序运行时,该如何实现保存子窗体里面textbox控件的值?程序退出时,该如何保存所有窗体里面的值?新手上路,全靠自己摸索,还望大家不吝赐教,先谢谢了! 解决方案 解决方案二:在主窗体里定义一个全局的变量即可.publicstaticstringtxt=null;在子窗体关闭的时候.MainForm.txt=textbox1.Text;在主窗

基于MVC4+EasyUI的Web开发框架形成之旅之界面控件的使用_javascript技巧

在前面介绍了两篇关于我的基于MVC4+EasyUI技术的Web开发框架的随笔,本篇继续介绍其中界面部分的一些使用知识,包括控件的赋值.取值.清空,以及相关的使用. 我们知道,一般Web界面包括的界面控件有:单行文本框.多行文本框.密码文本框.下拉列表Combobox.日期输入控件.数值输入控件.单项选择.复选框.表格控件DataGrid.树形控件.布局控件.弹出式对话框.提示信息.列表控件等,这些界面控件的操作都有哪些不同,下面我们来逐一进行介绍.   1.单行文本框 使用easyui的控件,单

Winform中关于控件统一赋值和取值的小技巧

下面都是我比较喜欢的博客园三位牛X人!特此向前辈们致敬! (1).winform 复选框控件赋值的小技巧:http://www.cnblogs.com/wuhuacong/archive/2010/02/07/1665438.html (2).构建 WinForm 通用速选(全选.反选.清空)组件 http://www.cnblogs.com/ldp615/archive/2009/11/29/WinForm_FastSelect_Component.html (3).c# 扩展方法奇思妙用高级

解析使用JS 清空File控件的路径值

本篇文章是对使用JS清空File控件的路径值的方法进行了详细的分析介绍,需要的朋友参考下   1.关于如何用脚本修改fileupload控件值的问题, 开发环境vs2005,在上传文件时,需要一个取消的按钮来清空type=file的value,而且这个页面上有多个file控件 这个比较麻烦因为file的值本身是不允许用脚本修改的(安全角度考虑) 方法1).使用脚本把这个file的input移动到一个form中,然后调用reset,如果有多个这样的input当然还要再移出来.这个方法我不会采用,因

解析使用JS 清空File控件的路径值_javascript技巧

1.关于如何用脚本修改fileupload控件值的问题, 开发环境vs2005,在上传文件时,需要一个取消的按钮来清空type=file的value,而且这个页面上有多个file控件 这个比较麻烦因为file的值本身是不允许用脚本修改的(安全角度考虑) 方法1).使用脚本把这个file的input移动到一个form中,然后调用reset,如果有多个这样的input当然还要再移出来.这个方法我不会采用,因为对.net开发者 来讲习惯了一个页面就一个form所有控件都在其中. 方法2).这个方法有点

基于MVC4+EasyUI的Web开发框架形成之旅--界面控件的使用

在前面介绍了两篇关于我的基于MVC4+EasyUI技术的Web开发框架的随笔,本篇继续介绍其中界面部分的一些使用知识,包括控件的赋值.取值.清空,以及相关的使用. 我们知道,一般Web界面包括的界面控件有:单行文本框.多行文本框.密码文本框.下拉列表Combobox.日期输入控件.数值输入控件.单项选择.复选框.表格控件DataGrid.树形控件.布局控件.弹出式对话框.提示信息.列表控件等,这些界面控件的操作都有哪些不同,下面我们来逐一进行介绍. 1.单行文本框 使用easyui的控件,单行文

统一的获取,设置UI控件值

在编写WebForm或WinForm程序时,我们经常需要编写很多获取,设置UI控件值代码.这确实 是一件重复,麻烦而又容易出错的工作.所以我们应该将这个工作交给计算机去做解放我们的 劳动力.一般来说UI上的控件都是和我们的EntityObject相对应的,所以利用反射将 EntityObject中属性值赋给控件或通过控件填充EntityObject是非常方便的.但是要想让计算 机自动干活就要顶一个规则,就是控件ID = 前缀 + 属性名.比如我们有一个User类其定义如 下: class Use

聊天主题:如何用C#定制个性化的界面控件

控件 聊天主题:如何用C#定制个性化的界面控件 主持人和专家介绍主持人:Guest_jswang_MS 微软专家: 韩定一(Guest_Danny_MS),赵彦(Guest_Francs_MS) Host Guest_jswang_MS says: 欢迎大家参加微软在线技术聊天. Host Guest_jswang_MS says: 本次聊天的主题是如何用C#定制个性化的界面控件 Host Guest_jswang_MS says: 首先,让我们欢迎来自微软全球技术中心工程师赵彦,韩定一 Hos