2009년 2월 19일 목요일

숫자 입력만 받아들이기


private void TextBox_KeyPress(object sender, KeyPressEventArgs e)
{
if (!Char.IsDigit(e.KeyChar) && e.KeyChar != 8)
{
e.Handled = true;
}
}

TextBox에 KeyPress이벤트로 키 입력을 숫자키와 백스페이스로 제한한 코드다..
KeyChar값이 ASCII니까 8이 백스페이스.....

응용편....

Char.IsLetter(e.KeyChar) : 알파벳이라면 여기에 걸릴테지...
Char.IsSymbol(e.KeyChar) : 기호는 이걸로 거를테고...
Char.IsControl(e.KeyChar) : 제어 문자 거르고...
Char.IsPunctuation(e.KeyChar) : 구분 문자인지 체크..

숫자와 영문을 동시에 처리한다면 Char.IsLetterOrDigit()을 쓰는 방법도 있다..^^


크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Kuro™

댓글 6개:

  1. Y 또는 N만 받아들이게 제한하는 함수도 좀 주시면 안될까요 쩝;;

    답글삭제
  2. @10wonsoft - 2009/02/20 12:36
    그거라면 아마

    if (e.KeyChar == 'Y')

    //Y 들어오면 처리

    else if (e.KeyChar == 'N')

    //N 들어오면 처리



    대략 이정도면 될듯.

    답글삭제
  3. @Bardisch - 2009/02/25 13:22
    그러면 T같은 Y나 N이 아닌 문자를 입력받으면 else로 빠지거나 Y처리 IF문으로 들어가는데요 -ㅅ-;;

    아예 Y 또는 N 이외에 입력을 제한하는 함수요 -ㅅ-

    답글삭제
  4. @10wonsoft - 2009/02/20 12:36
    Y,N만 입력받게하는 그거라면...



    private void TextBox_KeyPress(object sender, KeyPressEventArgs e)

    {

    if (e.KeyChar != 'Y' && e.KeyChar != 'N')

    {

    e.Handled = true;

    }

    }



    이정도면 될까나요?

    답글삭제
  5. @Bardisch - 2009/02/26 17:55
    그거 좋네요 ㅎㅎ

    답글삭제
  6. 쿨럭 죄송합니다 한동안 프로젝트도 정신 없고 자격증 시험때문에 못들렀더니...

    많은 얘기들이 오갔군요...

    답글삭제