zoukankan      html  css  js  c++  java
  • WPF中自定义只能输入数字的TextBox

    KeyDown事件:

    private void TextBox_KeyDown(object sender, System.Windows.Input.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 if (((e.Key >= Key.D0 && e.Key <= Key.D9) || e.Key == Key.OemPeriod) && e.KeyboardDevice.Modifiers != ModifierKeys.Shift)
                {
                    
    if (txt.Text.Contains("."&& e.Key == Key.OemPeriod)
                    {
                        e.Handled 
    = true;
                        
    return;
                    }
                    e.Handled 
    = false;
                }
                
    else
                {
                    e.Handled 
    = true;
                }
            }

    TextChanged事件:

    private void TextBox_TextChanged(object sender, TextChangedEventArgs e)
            {
                
    //屏蔽中文输入和非法字符粘贴输入
                TextBox textBox = sender as TextBox;
                TextChange[] change 
    = new TextChange[e.Changes.Count];
                e.Changes.CopyTo(change, 
    0);

                
    int offset = change[0].Offset;
                
    if (change[0].AddedLength > 0)
                {
                    
    double num = 0;
                    
    if (!Double.TryParse(textBox.Text, out num))
                    {
                        textBox.Text 
    = textBox.Text.Remove(offset, change[0].AddedLength);
                        textBox.Select(offset, 
    0);
                    }
                }
            }
  • 相关阅读:
    (8)route命令(每周一个linux命令系列)
    linux下怎么找到某些命令出自于哪个包
    centos网卡配置详解
    linux下查看系统版本
    (7)awk命令(每周一个linux命令系列)
    centos增加环境变量
    mysql用户操作、权限分配、远程登录设置
    (6)sudo命令详解(每周一个linux命令系列)
    最近的linux工作记录
    (5)ps详解 (每周一个linux命令系列)
  • 原文地址:https://www.cnblogs.com/wpf123/p/2052886.html
Copyright © 2011-2022 走看看