按下以在Visual Basic 2012 OOP方法上阻止字母/数字

时间:2015-05-15 04:52:43

标签: vb.net oop visual-studio-2012

我想使用visual studio 2012和SQL Server 2012创建一个注册表单。

我想要的功能是: 在Windows窗体中有两个文本框:

  • 如果我在第一个文本框中输入数字,程序将阻止该号码并允许字母

  • 在第二个文本框中,程序将阻止字母并允许编号

我听说这样做是为了使用按键。

按键的编码是什么?

2 个答案:

答案 0 :(得分:0)

这应该可以解决问题:

Public Class Form1

    Private Sub TextBox1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBox1.KeyPress
        If IsNumeric(e.KeyChar) Then
            e.Handled = True
        End If
    End Sub

    Private Sub TextBox2_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBox2.KeyPress
        If Not IsNumeric(e.KeyChar) Then
            e.Handled = True
        End If
    End Sub

End Class

答案 1 :(得分:0)

您需要使用ASCII值来执行此操作:

If Asc(e.KeyChar) <> 8 Then
    If Asc(e.KeyChar) < 48 Or Asc(e.KeyChar) > 57 Then
        e.Handled = True
    End If
End If

在上面的示例中,use只能输入数字并且可以使用BackSpace,因为此函数将仅允许KeyPress事件上的这些ASCII字符。

8 - &gt;退格, 48-57 - &gt; 0到9

同样地使用ASCII字符表示从a到z(大写和小写)的字符