创建一个自定义的 TextBox,只接受数字输入。

55 浏览
0 Comments

创建一个自定义的 TextBox,只接受数字输入。

这个问题已经有了答案:

可能有类似问题:

如何让WPF中的TextBox只接受数字输入?

我目前正在开发一个WPF应用程序,我想要一个只能输入数字(包括点和负号)的TextBox。

我知道如何在Windows Forms中实现这一点,但是WPF事件对我来说非常不同。

admin 更改状态以发布 2023年5月24日
0
0 Comments

只需为keydown事件添加一个处理程序,并为不想允许的键设置e.handled=true。示例在页面上,处理alt-p和alt-n但原理相同。您将需要修改此代码,因为它不是设计用于取消关键冲程,但它确实展示了如何处理keydown事件。

    
    private void Window_KeyDown(object sender, KeyEventArgs e)
    {
        // Debug.WriteLine("Main Window Window_KeyDown " + e.Key.ToString());
        e.Handled = false;
        if (e.KeyboardDevice.Modifiers == ModifierKeys.Alt) //  && e.KeyboardDevice.IsKeyDown(Key.RightAlt))
        {
            if (e.Key == Key.System && e.SystemKey == Key.N)
            {
                e.Handled = true;
                App.StaticGabeLib.Search.NextDoc();
            }
            else if (e.Key == Key.System && e.SystemKey == Key.P)
            {
                e.Handled = true;
                App.StaticGabeLib.Search.PriorDoc();
            }
        }
        base.OnKeyDown(e);
    }

将KeyDown附加到TextBox的示例

            

0