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.xueit.com] 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 }
联系客服