본문 바로가기

Visual Std 2010

TextBox 숫자 입력 체크 함수

Visual Studio 2010 ... 좋은 툴이라고 생각되지만 프로그램을 만들다보면 개발툴로써 부족한 부분이

분명 있기 마련이다.

그 중 하나가 텍스트박스 상자에 숫자입력만 되도록 해야하는데 이런 ...그런 것을 체크하는 속성은

보이질 않는다.

 

이럴때 써먹는 함수이다.

 

    Private Function CheckNum(ByVal e As System.Windows.Forms.KeyEventArgs)
 
        Dim retVal As Boolean
 
        If (e.KeyCode < 48 OrElse e.KeyCode > 57) Then
            retVal = True
        End If
 
        Return retVal
    End Function

위와 같이 함수를 하나 만들어준 뒤에 텍스트박스에 키다운 이벤트에서 이 함수를

콜해주면 된다.

 

아래와 같다.

Private Sub TextBox6_KeyDown

(sender As System.Object, e As System.Windows.Forms.KeyEventArgs

Handles TextBox6.KeyDown     If (CheckNum(e)) Then         MessageBox.Show("문자는 입력불가")

Return

    End If

이런식으로 처리하면 된다.

 

방법은 여러가지이다.

NumericUpDown 컨트롤을 숨겨놓고 이벤트를 통해 텍스트박스 편집이 종료될때

텍스트박스에 입력되는값을 NumericUpDown 컨트롤에 같이 복사해준뒤 그결과가

같으면 숫자이고 다르다면 문자가 텍스트박스에 입력되어 있는것이다.

그럼 에러처리하고 리턴시켜 주면 된다.