問VB既keypress

2010-03-11 2:52 am
我用下面段code限制左個textbox1輸入一定係數字
Private Sub TextBox1_KeyPress(...) Handles TextBox1.KeyPress
If Char.IsNumber(e.KeyChar) Then
e.Handled = False
Else
msgbox(xxxxxxxx)
e.Handled = True
End If
End sub

我想順便限定埋輸入既第一個數目一定唔可以係0,但我唔識點打,所以希望識既人教下我


我打算一開始輸入0就會彈msgbox,換言之我一開始輸入既數目一定要係1至9,但之後再輸入0都唔會彈msgbox
(例如我一開始輸入0就會彈msgbox,
但如果我一開始輸入係1,之後我再輸入0個textbox1會變成10,唔會再彈msgbox出黎)


最好係由上面段code改變,不過就算唔用上面d code黎改都唔緊要,最緊要係一開始輸入唔可以係0和限制輸入一定係數字,thx

回答 (1)

2010-03-11 7:51 am
✔ 最佳答案
Private Sub TextBox1_KeyPress1(...) Handles TextBox1.KeyPress
If Char.IsNumber(e.KeyChar) Then
If e.KeyChar = "0" And (Len(TextBox1.Text) = 0 Or TextBox1.SelectionStart = 0) Then //if keypress="0" then check first character or replacement of first character
MsgBox("First character cannot be 0")
e.Handled = True
Else
e.Handled = False
End If
ElseIf Char.IsControl(e.KeyChar) Then //allow backspace control characters
e.Handled = False
Else
MsgBox("Only numbers")
e.Handled = True
End If

End Sub


收錄日期: 2021-04-24 07:53:38
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20100310000051KK01125

檢視 Wayback Machine 備份