private void txtRoomNum_KeyDown(object sender, KeyEventArgs e) {
TextBox txt = sender as TextBox; //屏蔽非法按键,只能输入整数 if ((e.Key >=
Key.NumPad0 && e.Key <= Key.NumPad9)) { e.Handled =
false; } else { e.Handled = true;
} }
private void txtRoomArea_KeyDown(object sender, KeyEventArgs e) {
TextBox txt = sender as TextBox; //屏蔽非法按键,只能输入小数 if ((e.Key >=
Key.NumPad0 && e.Key <= Key.NumPad9) || e.Key == Key.Decimal)
{ if (txt.Text.Contains(".") && e.Key ==
Key.Decimal) { e.Handled = true;
return; } e.Handled = false; } else
{ e.Handled = true; }
}参考一: 以下实现TextBox只能输入小数并且屏蔽中文输入和非法粘贴: 说明:以下实现均在Framework
3.0平台下 为TextBox加两个事件:TextChanged和KeyDown事件,具体如下: KeyDown事件: Code
[http://www.] 1private void TextBox_KeyDown(object sender,
System.Windows.Input.KeyEventArgs e) 2 { 3 TextBox txt =
sender as TextBox; 4 5 //屏蔽非法按键 6 if ((e.Key
>= Key.NumPad0 && e.Key <= Key.NumPad9) || e.Key ==
Key.Decimal) 7 { 8 if (txt.Text.Contains(".")
&& e.Key == Key.Decimal) 9 { 10
e.Handled = true; 11 return; 12
} 13 e.Handled = false; 14 } 15
else if (((e.Key >= Key.D0 && e.Key <= Key.D9) || e.Key ==
Key.OemPeriod) && e.KeyboardDevice.Modifiers !=
ModifierKeys.Shift) 16 { 17 if
(txt.Text.Contains(".") && e.Key == Key.OemPeriod) 18
{ 19 e.Handled = true; 20
return; 21 } 22 e.Handled =
false; 23 } 24 else 25
{ 26 e.Handled = true; 27 } 28 }
|