현재 위치 - 회사기업대전 - 기업 정보 공시 - C# winform 텍스트 상자의 숫자 형식은 어떻게 지정합니까?

C# winform 텍스트 상자의 숫자 형식은 어떻게 지정합니까?

Winform(C#) 에서는 Textbox 가 숫자만 입력할 수 있도록 제한하기 위해 key 이벤트에서 처리하여 keychar 의 값을 결정하는 것이 일반적입니다. 숫자, 소수점, 백스페이스 및 del 만 입력할 수 있습니다. 숫자 0~9 는 48~57 의 keychar, 46 의 소수점, 8 의 백스페이스에 해당합니다.

숫자인지 백스페이스인지 판단하려면 다음과 같이 써야 숫자와 백스페이스를 입력할 수 있으므로 코드에 몇 가지 조건을 추가하여 소수점을 입력할 수 있습니다.

Private void textbox1_ keypress (개체 발신자, KeyPressEventArgs e)

{

시도하다

{

Intkc = (int) e. 키 차;

((KC & lt48 | | KC & gt57)& amp;; & ampkc! = 8)

E. 처리됨 = 참;

}

캡처 (예외)

{

}

}

소수점을 입력합니다. 입력하는 소수는 숫자 형식과 일치해야 하며 9.9.9 등을 입력할 수 없습니다. 방법은 float 을 사용하는 것입니다. TryParse 는 Textbox 앞뒤의 값을 변환한 다음 두 변환 결과를 비교합니다. 구체적인 코드는 다음과 같습니다.

If (kc == 46)? //소수점

{

If (txtMoney) 입니다. 텍스트 길이<= 0)

E. 처리됨 = 참; -응? //소수점은 첫 번째 자리에 있을 수 없습니다.

기타

{

부동 f;

Float oldf

Bool b 1 = false, B2 = false

B 1 = 부동 소수점. TryParse(txtMoney). 텍스트, Text oldf);

B2 = 부동 소수점. TryParse(txtMoney). Text+e.KeyChar.ToString (), outf);

(B2 == false) 인 경우

{

If (b 1 == true)

E. 처리됨 = 참;

기타

E. 처리됨 = 거짓;

}

}

}

copyright 2024회사기업대전