• 自定义控件之NumberTextBox


        /// <summary>
        /// 允许输入数字的TextBox,禁止粘贴,允许backspace、left、right、enter键
        /// </summary>
        public class NumberTextBox : TextBox
        {
            public NumberTextBox()
            {
                DataObject.AddPastingHandler(this, Text_Pasting);
            }
    
            protected override void OnPreviewKeyDown(KeyEventArgs e)
            {
                if ((e.Key >= Key.NumPad0 && e.Key <= Key.NumPad9 && e.KeyboardDevice.Modifiers != ModifierKeys.Shift)
                    || (e.Key >= Key.D0 && e.Key <= Key.D9 && e.KeyboardDevice.Modifiers != ModifierKeys.Shift) ||
                    e.Key == Key.Back || e.Key == Key.Left || e.Key == Key.Right || e.Key == Key.Enter)
                {
                    if (e.KeyboardDevice.Modifiers != ModifierKeys.None)
                    {
                        e.Handled = false;
                    }
                }
                else
                {
                    e.Handled = true;
                }
            }
    
            private void Text_Pasting(object sender, DataObjectPastingEventArgs e)
            {
                //禁止Pasting
                e.CancelCommand();
            }
        }
    

      上述代码屏蔽了小数点输入。

  • 相关阅读:
    XML 命名空间
    XML Schema验证
    java 解析XML文档
    Java线程:创建与启动
    CCF-CSP 201312-5 I'm stuck !
    memset函数用法
    C++的字符串多行输入
    OS复习1
    os复习2
    javamail编程2
  • 原文地址:https://www.cnblogs.com/saybookcat/p/5191953.html
Copyright © 2020-2023  润新知