wpf--字符限制,只能输入数字

通过KeyEventArgs.
需要引用的命名空间:

using System.Windows.Input;
using KeyEventArgs = System.Windows.Input.KeyEventArgs;//引用命名空间为keyeventarges服务,因为keyeventargs表示keydown与input所以需要指明具体是哪个操作

在这里插入图片描述
KeyEventArgs有keydown和input。所以需要指明具体是哪个操作。
using KeyEventArgs = System.Windows.Input.KeyEventArgs,这句话就是指明具体是那种操作的。


具体代码:

private System.Windows.Input.KeyEventArgs text;
        public System.Windows.Input.KeyEventArgs Text
        {
    
    
            get {
    
     return text; }
            set {
    
     text = value; }
        }
        public static void InputNumber(KeyEventArgs e)
        {
    
    
            if ((e.Key >= Key.NumPad0 && e.Key <= Key.NumPad9) || e.Key == Key.Back)
            {
    
    
                e.Handled = false;
            }
            else if ((e.Key >= Key.D0 && e.Key <= Key.D9 || e.Key == Key.Back))
            {
    
    
                e.Handled = false;
            }
            else
            {
    
    

                e.Handled = true;
                System.Windows.MessageBox.Show("请输入数字");
                return;
            }
        }

解析:

  为什么需要两个key值的判断,因为有两个数字输入的地方。下面是具体表示。
在这里插入图片描述
在这里插入图片描述


客户端:

   private void Pwd_PreviewKeyDown(object sender, KeyEventArgs e)
        {
    
    
          
            Input.InputNumber(e);
        }

在这里插入图片描述


  因为我们写了静态方法所一不需要创建就可以直接调用对象。也就是用户端为什么只需要写一行就可以。
如果我们使用了非静态方法,那么需要先实例化。在通过实例化的去调对象。

猜你喜欢

转载自blog.csdn.net/weixin_41851906/article/details/103643310