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);
                    }
                }
            }
  • 相关阅读:
    kobject.c 添加注释
    DNS之四---实现DNS的转发功能
    DNS之三-----实现DNS的TCP/UDP功能及子域委派
    DNS之二---实现DNS主从复制
    第十二周----chrony时间同步与Cobbler+PXE自动化安装
    网络时间同步服务和chrony
    第十一周----黑客加入黑名单及将普通用户授权root权限
    第十周--IP监控任务脚本实现
    ELK之十三----kibana dashboard(仪表盘)使用
    vmware虚拟机下linux centos6.6只有lo,没有eth0网卡、随机分配ip地址,固定ip地址等问题
  • 原文地址:https://www.cnblogs.com/zhangtao/p/2019873.html
Copyright © 2011-2022 走看看