舉個例子簡單說明吧,假設該程式是一個計算器.
private sub command1_click()
text3.text=text1.text+text2.text
end sub
當text1或者text2沒有填入數字而點擊command1時,如何彈出msgbox,提示輸入數字。
當然,上述程式會默認空白的text值為0而繼續運算。我的程式比較復雜,必須要求每個文本框里都有數值才可運算,一旦有空白的文本框,就會提示“實時錯誤13 型別不匹配”。
uj5u.com熱心網友回復:
你要用isnumeric函式對每個text檢查,而且計算的時候最好先做型別轉換,cint cdbl之類的
private sub command1_click()
if isnumeric(text1.text) and isnumeric(text2.text) then
text3.text=cstr(cdbl(text1.text)+cdbl(text2.text))
else
'提示有輸入框里的內容不同文本,或者為空
end if
end sub
uj5u.com熱心網友回復:
不好意思啊,忘了說明一下,我的程式里有大概三十個文本框,有沒有更快捷的代碼來檢查每個文本框是否都有數值?uj5u.com熱心網友回復:
用text控制元件陣列,在change事件中檢測是否為數值
uj5u.com熱心網友回復:
用文本控制元件陣列,會好點uj5u.com熱心網友回復:
private sub command1_click()
OnError Goto Errproc:
text3.text=text1.text+text2.text
Exit Sub
Errproc:
MsgBox Err.Description
end sub
uj5u.com熱心網友回復:
樓主還有沒有忘記說明的事項,比如輸入的數值是什么格式,是否包含十六進制字符,是否包含小數點等等?30 個文本框是否控制元件陣列?抑或除了這 30 個文本框沒有其他文本框?
任何一個優化演算法都是與特定條件相關的。這個樓主應該懂的。
uj5u.com熱心網友回復:
用自定義控制元件比較好。自己有什么需求都只要修改控制元件就好了轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/126310.html
標籤:VB基礎類
上一篇:求幫助 vs2005
