WPF中TextBox只输入数字

1、首先添加一个textbox,然后添加上去,一下修改的时候name属性并没有修改,所以还是labe,其中一句很重要的话就是要禁止输入法,否则当用复合键的时候回提交给输入法的Process来处理

<TextBox x:Name="labe3"  InputMethod.IsInputMethodEnabled="False"  KeyDown="SetKey"  Text="角度" MaxLength="3"   HorizontalAlignment="Left" Margin="137,66,0,0" VerticalAlignment="Top" RenderTransformOrigin="3.625,-1.267" Height="32" Width="47" />  

2、添加KeyDown事件,我在添加的事件方法是KeyDowm,为了使所有keydowm都可以调用这个方法,所以我们并不规定是哪一个调用的,用KeyEventArgs e中的e来做判断,这就是面向对象编程的思想,一个方法,可以给多个事件调用。

if ((Keyboard.Modifiers & ModifierKeys.Shift) != 0)                  //当按下shift  
{  
    e.Handled = true;//禁止输入  
}  
else  if (!((e.Key >= Key.D0 && e.Key <= Key.D9) || (e.Key >= Key.NumPad0 && e.Key <= Key.NumPad9) || e.Key == Key.Delete || e.Key == Key.Back || e.Key == Key.Tab || e.Key == Key.Enter))  
{  
        e.Handled = true;//禁止输入  
}  

From: https://blog.csdn.net/shaynerain/article/details/102637083

发布了123 篇原创文章 · 获赞 59 · 访问量 168万+

猜你喜欢

转载自blog.csdn.net/shaynerain/article/details/102637083