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);
                    }
                }
            }
  • 相关阅读:
    SQL SERVER 查询数据库状态
    SQL SERVER 查看数据库执行过哪些语句(SQL历史语句记录)
    SQL SERVER 查看所有触发器
    Delphi XE 错误提示:[DCC Error] E2597...
    SQL SERVER 关于多层嵌套的方法
    Delphi XE System.UITypes 颜色模块 TAlphaColor
    Delphi XE 安卓Web开发 错误:net::ERR_CLEARTEXT_NOT_PERMITTED
    Delphi 错误提示:delphi Unable to create process:请求的操作需要提升
    医学-药物-抗组胺药-依巴斯汀片
    医学-药物-未分类-藿胆滴丸
  • 原文地址:https://www.cnblogs.com/zhangtao/p/2019873.html
Copyright © 2011-2022 走看看