重建房收益,反覆用於推斷文字框、無論是組合框為空。並清除文字框、組合框。為了這個目的,一系列的抽象方法。我開始寫的比較亂,昨天再次處理,家交流學習。
上圖是組合查詢的介面,由於上篇講到了視窗繼承。所以有益選擇組合查詢的父視窗,以此為基礎。談一下如何推斷文字框、組合框是否為空,如何清空文字框、組合框,同一時候作為視窗繼承的實踐,以及組合查詢的前篇。
組合查詢有三個條件,我們能夠選擇乙個、兩個或三個,這就須要我們去推斷當中一部分文字框、組合框是否為空。怎麼辦?方法有兩個,一是把須要推斷的控制項封裝在控制項陣列裡。還有一種是放在容器panel裡(題外話:我開始用的groupbox,結果不能夠,後來是zhao同學提示的我用panel。感謝zhao同學),以下用封裝陣列的方法實現:
'推斷陣列控制項是否為空
public function isemptycontrolarray(byval arraycontrol() as control)
dim control as new control '定義控制項類
for each control in arraycontrol '遍歷陣列中的控制項
if typeof (control) is textbox and control.tag <> "" then '推斷文字框是否為空 tag <> ""防止漏寫tag報錯
if control.text.trim = "" then '假設空,請示使用者輸入
msgbox("請輸入" & control.tag.tostring, vbokonly, "提示")
control.focus() '控制項獲得焦點
return false '返回false
end if
elseif typeof (control) is combobox and control.tag <> "" then '推斷組合框是否為空
if control.text = "" or control.text.trim = "《請選擇》" then '假設空,提示使用者選擇資料項
msgbox("請選擇" & control.tag.tostring, vbokonly, "提示")
control.focus() '獲取焦點
return false
end if
end if
next
return true
end function
假設是放在panel中的,引數直接定義為panel.controlcollection就可以,假設是推斷視窗的所有控制項,那麼把引數定義為windows.forms.control.controlcollection。對於清空文字框、組合框也是相同的方法,這裡不再贅述。
然後把你須要推斷的控制項放在陣列裡面。設定好對應的tag,呼叫此方法就可以。
封裝控制項以及呼叫的**:
dim controlarray(2) as control '定義控制項陣列,獲取組合1的控制項
controlarray(0) = cbofield1
controlarray(1) = cbooperator1
controlarray(2) = txtkey1
if commonmethod.isemptycontrolarray(controlarray) = false then '推斷組合1的控制項是否為空
exit sub
end if
看一下效果:
此處所描述的方法,歡迎批評。
推斷文字框是否為空
在視窗上往往有非常多文字框須要輸入資訊,一些下拉框須要選擇,對於這些資訊的輸入,我們總是須要推斷輸入的是否為空。曾經,總是乙個乙個的推斷。這樣太繁瑣。也可能會丟掉當中的乙個兩個的。如今就讓我們輕鬆解決推斷文字框是否為空吧。用來推斷文字框和下拉框是否為空 module module1 public f...
核取方塊 單行文字框 組合框
一 核取方塊 核取方塊的操作函式 bool ischecked const 判斷這個核取方塊是否被選中 void setchecked bool 設定這個核取方塊的選中情況 核取方塊的訊號 void statechanged int state 狀態改變訊號 例1建立乙個是否同意協議的核取方塊選中後...
判斷文字框是否為空
在窗體上往往有很多文字框需要輸入資訊,一些下拉框需要選擇,對於這些資訊的輸入,我們總是需要判斷輸入的是否為空,以前,總是乙個乙個的判斷,這樣太繁瑣,也可能會丟掉其中的乙個兩個的。現在就讓我們輕鬆解決判斷文字框是否為空吧。用來判斷文字框和下拉框是否為空 module module1 public fu...