vb.net限制輸入數字並只到小數點後2位
01 |
Private Sub txtRatio_KeyPress( ByVal sender As Object , ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtRatio.KeyPress |
02 |
03 |
'輸入為數字,小數點或backspace |
04 |
If Char .IsDigit(e.KeyChar) Or e.KeyChar = "." Or e.KeyChar = Chr(8) Then 'Backspace: |
05 |
'輸入的小數點為唯一 |
06 |
If e.KeyChar = "." And InStr( CType (sender, System.Windows.Forms.TextBox).Text, "." ) > 0 Then |
07 |
e.Handled = True |
08 |
Else |
09 |
'小數最多2位 |
10 |
If e.KeyChar <> Chr(8) And InStr( CType (sender, System.Windows.Forms.TextBox).Text, "." ) > 0 Then |
11 |
Dim sAry() As String = CType (sender, System.Windows.Forms.TextBox).Text.Split( "." ) |
12 |
If sAry(1).Length >= 2 Then |
13 |
e.Handled = True |
14 |
Else |
15 |
e.Handled = False |
16 |
End If |
17 |
Else |
18 |
e.Handled = False |
19 |
End If |
20 |
End If |
21 |
22 |
'輸入的負號是否在第一位 |
23 |
ElseIf e.KeyChar = "-" And CType (sender, System.Windows.Forms.TextBox).Text = "" Then |
24 |
e.Handled = False |
25 |
Else |
26 |
e.Handled = True |
27 |
End If |
28 |
29 |
End Sub |
http://iden1109.blogspot.tw/2010/10/vbnet2.html
全站熱搜
留言列表