숫자인지 백스페이스인지 판단하려면 다음과 같이 써야 숫자와 백스페이스를 입력할 수 있으므로 코드에 몇 가지 조건을 추가하여 소수점을 입력할 수 있습니다.
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. 처리됨 = 거짓;
}
}
}