检查用户按键会产生警告

时间:2009-12-02 15:55:42

标签: vb.net visual-studio-2008

我试图尽可能保持用户对我们的应用程序的输入。我尝试这样做的一种方法是不允许在字段中使用不正确的数据类型(在期望数值时不允许使用字母字符)

我找到并实现了以下代码:

Private Sub txtSocial_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtSocial.KeyPress
    Dim UserKeyPress As Char = e.KeyChar
    Dim isKey As Boolean = e.KeyChar.IsDigit(UserKeyPress)
    Dim isCont As Boolean = e.KeyChar.IsControl(UserKeyPress)
    If Not isKey And Not isCont Then
        e.Handled = True
    End If

代码按预期工作,但Visual Studio会抛出此警告:

  

共享成员的访问,常量   成员,枚举成员或嵌套类型   通过一个实例;排位赛   表达式不会被评估。

我不反对警告,但我想知道我是否忽略了警告并继续前进,或者是否有更好的方法来实现我的目标?

1 个答案:

答案 0 :(得分:0)

而不是e.KeyChar.IsDigit,请使用Char.IsDigitIsControl也是如此。当访问像IsDigit这样的静态(共享)方法时,您可以通过类而不是特定实例直接访问它:无论如何,实例(在这种情况下为e.KeyChar)都会被忽略,这就是警告的内容。