WPF 实现 TextBox 只能输入数字并且不能使用拷贝功能

1.代码页需要在键盘按下事件中对输入文字进行筛选,代码如下:

        private void tbxGoToPage_PreviewKeyDown(object sender, KeyEventArgs e)
        {
            Console.WriteLine("key_value={0}", e.Key);
            if ((e.Key >= Key.NumPad0 && e.Key <= Key.NumPad9) ||
                 (e.Key >= Key.D0 && e.Key <= Key.D9) ||
                 e.Key == Key.Back ||
                 e.Key == Key.Left || e.Key == Key.Right)
            {
                if (e.KeyboardDevice.Modifiers != ModifierKeys.None)
                {
                    e.Handled = true;
                }
            }
            else
            {
                e.Handled = true;
            }
        }

  

2.设计界面页需要增加PreviewKeyDown事件,屏蔽输入法,设置鼠标右键菜单为空继而屏蔽使用鼠标进行右键拷贝功能,代码如下:

            <TextBox Name="tbx" Width="50" Height="28" 
                     PreviewKeyDown="tbx_PreviewKeyDown" InputMethod.IsInputMethodEnabled="False" ContextMenu="{x:Null}" />

  

猜你喜欢

转载自www.cnblogs.com/qingtian224/p/9277198.html
今日推荐