Dim regex = New Regex("^[.][0-9]+$|^[0-9]*[.]{0,1}[0-9]*$")
e.Handled = Not regex.IsMatch(TryCast(sender, TextBox).Text.Insert(TryCast(sender, TextBox).SelectionStart, e.Text))
使用此代码,我只能接受文本框的十进制输入。但是用户仍然可以在文本框中输入空格。我怎么不允许这样做?我尝试添加\s
作为空格字符,但没有运气。
更新 尝试使用这个正则表达式建议。但仍然可以在文本框中输入空格。这是代码
Private Sub textBox4_PreviewTextInput(sender As Object, e As TextCompositionEventArgs) Handles textBox4.PreviewTextInput
'Dim regex = New Regex("^[.][0-9]+$|^[0-9]*[.]{0,1}[0-9]*$") //This is the original code.
Dim regex = New Regex("^\d*(\.\d*)?$")
e.Handled = Not regex.IsMatch(TryCast(sender, TextBox).Text.Insert(TryCast(sender, TextBox).SelectionStart, e.Text))
End Sub
此外,Wpf ..
中没有文本框的KeyPress事件