우선 TextBox에 KeyDown 이벤트를 추가한다.
그리고나면
private void TextBox1_KeyDown(object sender, KeyEventArgs e)
{
if (checkNumber(e.Key))
{
e.Handled = false;
}
else e.Handled = true;
}
위와 같은 코드를 생성하면 되는데, e.Key를 통해 눌린 키를 확인할 수 있다.
눌린 키가 숫자이면 checkNumber 메서드는 true를 반환하므로
결국 e.Handled가 false면 입력이된다.
즉, e.Key를 통해 눌린 키를 확인하고, e.Handled에 false를 반환하면 입력이 되고, true를 반환하면 입력이 되지 않는다.
숫자를 확인하는 checkNumber 메서드는 아래와 같이 구현했다.
switch (e.Key)
{
case Key.D0:
case Key.D1:
case Key.D2:
case Key.D3:
case Key.D4:
case Key.D5:
case Key.D6:
case Key.D7:
case Key.D8:
case Key.D9:
case Key.NumPad0:
case Key.NumPad1:
case Key.NumPad2:
case Key.NumPad3:
case Key.NumPad4:
case Key.NumPad5:
case Key.NumPad6:
case Key.NumPad7:
case Key.NumPad8:
case Key.NumPad9:
return true; break;
default:
return false; break;
}
Key를 전달받아 숫자면 true 반환, 그 외에는 false를 반환한다.
하나로 합쳐서 KeyDown 이벤트에
private bool checkNumber(Key key)
{
// 입력받은 키가 입력이 가능하면 True 반환
switch (key)
{
case Key.D0:
case Key.D1:
case Key.D2:
case Key.D3:
case Key.D4:
case Key.D5:
case Key.D6:
case Key.D7:
case Key.D8:
case Key.D9:
case Key.NumPad0:
case Key.NumPad1:
case Key.NumPad2:
case Key.NumPad3:
case Key.NumPad4:
case Key.NumPad5:
case Key.NumPad6:
case Key.NumPad7:
case Key.NumPad8:
case Key.NumPad9:
e.Handled = false;
default:
e.Handled = true;
}
}
이런 식으로 구성해도 될 듯하다.
그리고나면
private void TextBox1_KeyDown(object sender, KeyEventArgs e)
{
if (checkNumber(e.Key))
{
e.Handled = false;
}
else e.Handled = true;
}
위와 같은 코드를 생성하면 되는데, e.Key를 통해 눌린 키를 확인할 수 있다.
눌린 키가 숫자이면 checkNumber 메서드는 true를 반환하므로
결국 e.Handled가 false면 입력이된다.
즉, e.Key를 통해 눌린 키를 확인하고, e.Handled에 false를 반환하면 입력이 되고, true를 반환하면 입력이 되지 않는다.
숫자를 확인하는 checkNumber 메서드는 아래와 같이 구현했다.
switch (e.Key)
{
case Key.D0:
case Key.D1:
case Key.D2:
case Key.D3:
case Key.D4:
case Key.D5:
case Key.D6:
case Key.D7:
case Key.D8:
case Key.D9:
case Key.NumPad0:
case Key.NumPad1:
case Key.NumPad2:
case Key.NumPad3:
case Key.NumPad4:
case Key.NumPad5:
case Key.NumPad6:
case Key.NumPad7:
case Key.NumPad8:
case Key.NumPad9:
return true; break;
default:
return false; break;
}
Key를 전달받아 숫자면 true 반환, 그 외에는 false를 반환한다.
하나로 합쳐서 KeyDown 이벤트에
private bool checkNumber(Key key)
{
// 입력받은 키가 입력이 가능하면 True 반환
switch (key)
{
case Key.D0:
case Key.D1:
case Key.D2:
case Key.D3:
case Key.D4:
case Key.D5:
case Key.D6:
case Key.D7:
case Key.D8:
case Key.D9:
case Key.NumPad0:
case Key.NumPad1:
case Key.NumPad2:
case Key.NumPad3:
case Key.NumPad4:
case Key.NumPad5:
case Key.NumPad6:
case Key.NumPad7:
case Key.NumPad8:
case Key.NumPad9:
e.Handled = false;
default:
e.Handled = true;
}
}
이런 식으로 구성해도 될 듯하다.
'Development > C#' 카테고리의 다른 글
코드로 배포/설치프로그램 생성 후 명령프롬프트 명령 내리기 (0) | 2011.02.16 |
---|---|
Attribute 사용처 - 두번째 이야기 (0) | 2010.03.08 |
Attribute 사용처 (0) | 2010.03.08 |
다른 프로세스에서 사용 중인 파일 읽어오기. (2) | 2010.03.08 |
Binary 파일에서 문자열 읽어오는 방법 (0) | 2010.03.08 |