2009-12-02 5 views
0

사용자 입력을 가능한 한 깨끗하게 응용 프로그램에 유지하려고 시도하고 있습니다.사용자 키 누르기를 확인하면 경고가 생성됩니다.

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에서이 경고가 발생합니다 : 인스턴스를 통해 공유 멤버의

액세스, 일정 회원, 열거 형 멤버 또는 중첩 유형 을; 예선 인 표현은 평가되지 않습니다.

나는 경고에 반대하지 않지만 경고를 무시하고 계속 나아가거나 내 목표를 달성하는 더 좋은 방법이 있는지 알고 싶습니다.

답변

0

e.KeyChar.IsDigit 대신 Char.IsDigit을 사용하십시오. IsControl에 대해서도 마찬가지입니다. IsDigit와 같은 정적 (공유) 메소드에 액세스 할 때 특정 인스턴스 대신 클래스를 통해 직접 액세스 할 수 있습니다. 인스턴스 (이 경우 e.KeyChar)가 무시되며 이는 경고와 관련됩니다.

+0

굉장한 더 이상의 경고와 나는 여전히 동일한 기능을 가지고 있습니다. – Sean

관련 문제