C#机房重构-如何一键清空

清除text内容

在敲注册窗体时,遇见一个问题:
如果我的填写内容错了,而我又不想一个一个删除,怎么办,这时候就需要有个按钮,清除/取消键。
既然注册窗体时有清除键,其他窗体是不是也需要有?
如果每个窗体都有的话,一直要将每一个text都重新写一遍txt.text="",这样不仅冗余,对程序员也是很繁琐。如下:

txt1.text="";

txt2.text="";

txt3.text="";

txt4.text="";

txt5.text="";

txt6.text="";
......

那么能不能封装一个方法来调用一句代码取代这么多行呢?
懒人自有懒福,当然有了。

#一键清空

1封装一个清空类

using System.Windows .Forms ;
namespace UI
{
    //封装清空类

    public class Clear
    {
        public Clear(Form form) //如果有panel控件,此处也可以添加一个panel清除
        {
            foreach (Control ctl in form.Controls)
            {
                //清空combobox

                if (ctl is ComboBox)
                {
                    ComboBox cmb = ctl as ComboBox;
                    cmb.SelectedIndex = -1;
                }
                    //清空textbox

                else if (ctl is TextBox )
                {
                    TextBox txt = ctl as TextBox ;
                    txt.Text = string.Empty;
                }
            }
            
        }
    }

2调用,拿注册窗体举例子,我如果想要清除所有的文本框或combo box,点击清除键,就可以了。而清除按钮中只需要调用一句代码。

Clear clear = new Clear(this);//一键清空

#封装

面向对象三大特性之一:封装

#附属
另附属一个:注册窗体错误集锦

你可能感兴趣的:(C#机房重构)