C#機房重構-如何一鍵清空

提高班14期郭倩_Ulrica發表於2018-08-24

清除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);//一鍵清空

封裝

物件導向三大特性之一:封裝

附屬

另附屬一個:註冊窗體錯誤集錦

相關文章