字符处理VB

时间:2013-03-04 00:27:44

标签: visual-studio-2010 try-catch

如果我想使用Try-Catch作为char并确保在键入数值时它不会运行程序我将如何在visual basic中执行此操作?一小段代码的例子很棒。

1 个答案:

答案 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