文字框判空,如何提高靈活性?

2021-08-10 03:44:21 字數 2033 閱讀 5966

做winform介面的時候,上面有六個文字框需要判空,之前的思路大致是這樣的,**如下:

if (txtusername.text

.trim() == "")

else if (txtpassword.text

.trim() == "")

else if (txtconfirmpassword.text

.trim() == "")

else

**中寫了三個判斷,大概就是做乙個註冊功能時所需要做的判空操作。可是,當我介面有六個文字框需要判空時,就覺得有點麻煩了,還要加三個if else判斷。於是,就想能不能將判空操作提取出乙個方法來進行呢,這樣至少**看起來不會那麼冗餘。於是,就有了下面的**:

bool isempty = checkempty(txtusername, txtpassword, txtconfirmpassword);

if (isempty)

///

/// 自定義方法,判斷某文字框是否為空

//////

要進行判斷的標籤

///是否全都不為空

public

bool

checkempty(params textbox txt)

}return flag;

}///

/// 將文字框name值轉換成對應的label文字

//////

///private

string

change(string name)

return name;

}

這樣一來,判空的**看起來就清晰多了,將需要判空的文字框當做引數傳過去即可。不過,又有乙個問題,我們可以看到,change方法中將文字框name屬性值轉換為對應的label文字時,每新增乙個判斷,必須要增加乙個case,這樣一來,如果有一百個判斷,那**就太長了。那麼,有沒有一種方法,即可以替代switch….case又可以縮短**行呢?答案是:有的,用dictionary來代替。**如下:

///

/// 將文字框name值轉換成對應的label文字

//////

///private

string

change(string name)

我們可以看到,dictionary實現了同switch一樣的功能,**從15行變成了5行,而且switch每增加乙個判斷,需要增加三行**,而dictionary只需增加一行**即可。到現在為止,判斷這個操作看起來算是不那麼麻煩了。我們知道,優秀的**一般都是可擴充套件,可復用的。而目前,上面的**並沒有做到可復用。checkempty方法中需要用到change方法來轉換提示資訊,而change方法中的字典是寫死的。這個時候,如果想復用checkempty方法就必須將change方法拿掉,將其當做引數傳過來。**如下:

bool isempty = checkempty(topmessage(), txtusername, txtpassword, txtconfirmpassword);

if (isempty)

///

/// 提示資訊轉換

//////

private dictionary topmessage()

///

/// 自定義方法,判斷某文字框是否為空

//////

要進行判斷的標籤

///是否全都不為空

public

bool

checkempty(dictionary mydic,params textbox txt)

}return flag;

}

這樣,checkempty方法就可以復用了。在web應用中,文字框是有乙個屬性可以設定是否允許為空的,不過winform好像還沒有,覺得有必要也加上。以上只是個人思考,如有不當或可改進之處,還望不吝賜教。

判斷文字框是否為空

在窗體上往往有很多文字框需要輸入資訊,一些下拉框需要選擇,對於這些資訊的輸入,我們總是需要判斷輸入的是否為空,以前,總是乙個乙個的判斷,這樣太繁瑣,也可能會丟掉其中的乙個兩個的。現在就讓我們輕鬆解決判斷文字框是否為空吧。用來判斷文字框和下拉框是否為空 module module1 public fu...

推斷文字框是否為空

在視窗上往往有非常多文字框須要輸入資訊,一些下拉框須要選擇,對於這些資訊的輸入,我們總是須要推斷輸入的是否為空。曾經,總是乙個乙個的推斷。這樣太繁瑣。也可能會丟掉當中的乙個兩個的。如今就讓我們輕鬆解決推斷文字框是否為空吧。用來推斷文字框和下拉框是否為空 module module1 public f...

Latex之使用文字框, 文字框如何自動斷頁

如果要實現latex文字框,可以使用tcolorbox包.使用時首先匯入 usepackage在使用時 begin colback black 3 white,colframe black 30 white text end即可.colback指背景的顏色,colframe指邊框的顏色.根據自己的需...