public
sub checkkeypress(byval targettextbox as textbox, byval e as system.windows.forms.keypresseventargs, optional
byval minus as
boolean = false, optional
byval decimalcount as
integer = 0)
dim blnhandled as
boolean
blnhandled = false
select
case asc(e.keychar)
case asc("-") ' 負號:只能在最前頭
ifnot (targettextbox.selectionstart = 0 and minus = true) then blnhandled = true
case asc(".") ' 小數點:小數字數大於0;在字串中沒有「.」,且加了「.」後小數字能滿足要求
if decimalcount <= 0 then
blnhandled = true
else
ifnot (instr(targettextbox.text, ".") = 0 and (len(targettextbox.text) - targettextbox.selectionstart <= decimalcount)) then blnhandled = true
endif
case 8, 13 ' 退格鍵,回車鍵
case asc("0") to asc("9") ' 0-9
if instr(targettextbox.text, ".") > 0 then
if targettextbox.selectionstart > instr(targettextbox.text, ".") then
' 當前字元位置在小數點後,則小數點後的字元數必須小於小數字
if len(targettextbox.text) - instr(targettextbox.text, ".") >= decimalcount then blnhandled = true
else
' 當前字元位置在小數點前,則小數點後的字元數必須不大於小數字
if len(targettextbox.text) - instr(targettextbox.text, ".") >= decimalcount then blnhandled = true
endif
endif
case
else
blnhandled = true
endselect
e.handled = blnhandled
endsub
呼叫如下:
private sub txtje_keypress(byval sender as object, byval e as system.windows.forms.keypresseventargs) handles txtje.keypress
checkkeypress(sender, e, false, 0)
end sub
TextBox控制項
1 獲取當前行第乙個索引值 int index textbox1.getfirstcharindexofcurrentline 2 獲取總行數 int line textbox1.lines.length 3 獲取指定字元位置檢索行號 int line textbox1.getlinefromcha...
TextBox控制項
第乙個不能在後台操作 文字框的多種形式 l 單行文字框 textmode singleline l 多行文字框 textmode mulitline l 密碼文字框 textmode password 文字框需要掌握的屬性 text 設定或獲取文字內容 textmode singleline,mul...
TextBox 控制項
textbox控制項上有乙個箭頭,multiline 屬性,是多行顯示 textbox控制項有 system.windows.textbox 類提供,提供了基本的文字輸入和編輯功能 屬性 acceptsretun控制按下回車鍵時顯示是換行還是啟用按鈕 false換行false是啟用 characte...