如何仅允许数字,没有. , -
,以及在VB.net WPF中的文本框 中复制粘贴Ctrl C + Ctrl V, backspace and delete
?
由于它是WPF,键击和按键不起作用。我不知道解决方法。
我似乎无法找到解决方案,如果没有这个,我的程序会在每次有人输入除数字之外的任何内容时中断。请帮忙!
答案 0 :(得分:0)
在这种情况下,我倾向于使用VB工具箱中的numericUpDown控件。 它只接受数值,并有一些方便的按钮来增加或减少值。此外,您可以设置最小值和最大值。
答案 1 :(得分:0)
哦,我找到了答案,只包括这个功能。
Protected Overrides Sub OnPreviewTextInput(e As
System.Windows.Input.TextCompositionEventArgs)
e.Handled = Not AreAllValidNumericChars(e.Text)
MyBase.OnPreviewTextInput(e)
End Sub
Private Function AreAllValidNumericChars(str As String) As Boolean
For Each c As Char In str
If Not [Char].IsNumber(c) Then
Return False
End If
Next
Return True
End Function`
答案 2 :(得分:0)
这个简单的代码将帮助您仅在VB.net WPF上为文本框输入数字
Private Sub txtTextBox_PreviewKeyDown(sender As Object, e As KeyRoutedEventArgs) Handles txtTextBox.PreviewKeyDown
If e.Key <> 8 Then
'48 - 57 = Ascii codes for numeric only
If e.Key < 48 Or e.Key > 57 Then
e.Handled = True
End If
End If
End Sub