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);
                    }
                }
            }
  • 相关阅读:
    C++标准转换运算符(2)
    C++标准转换运算符(1)
    未能加载视图状态。正在向其中加载视图状态的控件树必须与前一请求期间用于……
    我的第一篇博客
    C语言C语言程序
    C语言基本运算符
    C语言流程控制
    C语言关键字、标识(zhi)符、注释
    msado15.dll版本引发的离奇故障
    mySQL错误: The used table type doesn't support FULLTEXT indexes
  • 原文地址:https://www.cnblogs.com/wpf123/p/2052886.html
Copyright © 2011-2022 走看看