입력 문자 검사
프로그램을 작성하다 보면 사용자의 키보드 입력 문자를 검사해서 유용한 문자만을 허용하는 경우가 많이 있습니다. 입력 문자열을 검증하는 방법 두 가지를 알아 보겠습니다
(아래 모든 코드는 TextBox의 KeyPress 이벤트에 정의된다고 가정한다)
1. Char 구조체를 사용한 문자 검증 방법
Char 구조체의 static 메서드를 이용하여 입력문자를 검증할 수 있다.
아래 표는 문자열을 검증하는 메서드의 표이다

예제> 몇 가지 예를 살펴보면..
a. 숫자만 허용
if(!(Char.IsDigit(e.KeyChar)) && e.KeyChar != 8){
e.Handled = true;
}
b. 문자만 허용
if(! ((e.KeyChar >= 65 && e.KeyChar <= 90) || (e.KeyChar >= 97 && e.KeyChar <= 122))
&& e.KeyChar != 8) {
e.Handled = true;
}
c. 한글만 허용
if ((Char.IsPunctuation(e.KeyChar) || Char.IsDigit(e.KeyChar) ||
Char.IsLetter(e.KeyChar) || Char.IsSymbol(e.KeyChar))
&& e.KeyChar != 8)
{
e.Handled = true;
}
설명>>
TextBox의 KeyPress 이벤트에서 사용자의 입력값을 받아서Char 구조체가 제공하는 메서드를 사용해서 문자 검증을 수행한다. 입력을 불허해야 하는 상황이라면 KeyPressEventArgs 의 Handled 속성을 true 로 설정하여
TextBox의 KeyPress 이벤트를 취소 시킨다. (즉, TextBox 에 글이 적히지 않도록 한다)
e.KeyChar != 8 이부분은 빽스페이스 키가 아니면 참이라는 것인데 즉 이말은 빽스페이스 키는 검증대상에 포함시키지 않는다는 의미가 된다
2. 사용자가 입력한 char를 자체를 검증하는 방법
위의 예제를 보면 알 수 있듯이 KeyPressEventArgs 의 KeyChar 는 현재 입력한char를 의미한다. 이 char 의 범위나 키 자체의 단일 정수값을 이용해 입력 값을 검증할 수 있다.
아래 표는 각 키의 값을 나타내는 표이다