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);
                    }
                }
            }
  • 相关阅读:
    第一篇:spring boot 初始
    数据结构 -- 线段树
    数据结构 -- 优先队列和堆排序
    javaIO -- 流的体系设计思路、基础分类
    JavaIO -- Reader 和 Writer
    javaIO -- InputStream和OutStream
    javaIO -- File源码
    数据结构 -- 二叉树(Binary Search Tree)
    数据结构 -- 链表(LinkedList)
    数据结构 -- 栈(Stack)
  • 原文地址:https://www.cnblogs.com/zhangtao/p/2019873.html
Copyright © 2011-2022 走看看