我有這個代碼從MSDN,只允許數字字符到文本框。 但我不能修改它以接受「。」作爲一個輸入和限制。如何允許,限制爲一個「。」 (句點)字符在TextBox中? (C#Winforms)
Ex: 12.50 valid!
236.3247 valid!
2..5 invalid
//other non-numeric input invalid
考慮下面的代碼:
private bool nonNumberEntered = false;
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
nonNumberEntered = false;
if (e.KeyCode < Keys.D0 || e.KeyCode > Keys.D9)
{
if (e.KeyCode < Keys.NumPad0 || e.KeyCode > Keys.NumPad9)
{
if (e.KeyCode != Keys.Back)
{
nonNumberEntered = true;
}
}
}
if (Control.ModifierKeys == Keys.Shift)
{
nonNumberEntered = true;
}
}
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (nonNumberEntered == true)
{
e.Handled = true;
}
}
請發表您的修改後的代碼。非常感謝。
我認爲使用正則表達式簡單驗證期望的字符串會更容易,而不是嘗試手動編寫此類掃描器。 – 2010-10-01 02:27:25