如果我想使用Try-Catch作为char并确保在键入数值时它不会运行程序我将如何在visual basic中执行此操作?一小段代码的例子很棒。
答案 0 :(得分:1)
您不应该将Try/Catch
用于正常的程序控制流程。例外情况就是:您不希望正常发生的特殊情况。
当字符包含数字时,不要使用异常来防止它被存储 在第一个例子中。
实现这一目标的一个好方法是添加KeyPress
处理程序。
这是一个KeyPress处理程序的示例,它只允许Numerics和退格(它在C#中,但很容易转换为VB.NET):
private void txtTimeout_KeyPress(object sender, KeyPressEventArgs e)
{
e.Handled = !(Char.IsNumber(e.KeyChar) || e.KeyChar == '\b');
}
将KeyPressEventArgs.Handled设置为true以取消KeyPress事件。 这使得控件不会处理按键操作。
还有其他示例here和StackOverflow。
Private Sub textBox1_KeyPress(sender As Object, e As System.Windows.Forms.KeyPressEventArgs) _
Handles textBox1.KeyPress
' Determine what is a valid key press
If Char.IsNumber(e.KeyChar) = True Then
' Stop the character from being entered into the control since it is numeric
e.Handled = True
End If
End Sub