想了另一种临时解决方案:
Validating 事件中:
If e.Sender.Value IsNot Nothing Then
Dim k As String = e.Sender.Value
Dim Values() As String = k.split(".")
If Values.Length > 2 Then
e.Cancel = True
MessageBox.Show("警告:【" & e.Sender.name & "】输入有误,请检查!","错误提示",MessageBoxButtons.OK, MessageBoxIcon.Warning)
Return
End If
Dim j As Integer = k.Length
Select Case j
Case 1
If Char.IsDigit(k) = False Then
e.Cancel = True
MessageBox.Show("警告:【" & e.Sender.name & "】输入有误,请检查!","错误提示",MessageBoxButtons.OK, MessageBoxIcon.Warning)
End If
Case Else
Dim s As String
For i As Integer = 0 To j - 1
s = k.SubString(i,1)
If Char.IsDigit(s) = False And s <> "." Then
e.Cancel = True
MessageBox.Show("警告:【" & e.Sender.name & "】输入有误,请检查!","错误提示",MessageBoxButtons.OK, MessageBoxIcon.Warning)
Exit For
End If
Next
End Select
End If