我想知道我怎么能让我的文本框只接受数字和点.喜欢:
123.45或115或218.16978
等等..
我已经得到以下代码:
Private Sub TxtHStof_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TxtHStof.KeyPress
e.Handled = Not Char.IsDigit(e.KeyChar)
End Sub
Run Code Online (Sandbox Code Playgroud)
但这只允许没有点的数字.我怎样才能改变代码所以它确实允许点,但没有别的.(复制粘贴无关紧要,因为它不会成为问题)
非常感谢
e.Handled = Not (Char.IsDigit(e.KeyChar) OR e.KeyChar=".")
Run Code Online (Sandbox Code Playgroud)
公认的解决方案无法满足
这对我有用
Private Sub TextBox1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBox1.KeyPress
Dim DecimalSeparator As String = Application.CurrentCulture.NumberFormat.NumberDecimalSeparator
e.Handled = Not (Char.IsDigit(e.KeyChar) Or
Asc(e.KeyChar) = 8 Or
(e.KeyChar = DecimalSeparator And sender.Text.IndexOf(DecimalSeparator) = -1))
End Sub
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
33558 次 |
| 最近记录: |