繁体   English   中英

如何比较keyDown事件中按下的键值

[英]How do I compare pressed Key values in keyDown event

我在这里尝试一些非常琐碎的事情,但不知何故不能解决。.我在wpf中处理telerik grid的KeyDown事件。

要检查按下的键是数字还是小数,因此我这样做。

If ((e.Key >= Keys.D0 AndAlso e.Key <= Keys.D9) OrElse
    (e.Key >= Keys.NumPad0 AndAlso e.Key <= Keys.NumPad9) OrElse
    e.Key = Keys.Decimal) Then

        e.Handled = False
Else
        e.Handled = True
End If

但以上内容如果从不满足..例如,如果我按D4

这些是if中的计算值

Dim one = e.Key >= Keys.D0 -> False
Dim two = e.Key <= Keys.D9 -> True
Dim three = e.Key >= Keys.NumPad0 -> False
Dim four = e.Key <= Keys.NumPad9 -> True
Dim five = e.Key = Keys.Decimal -> False

为什么D4小于D9实现但不大于D0?

如何简单比较按键和键值范围?

希望我已尽我所能解释,但如果您需要任何澄清,请询问。

谢谢

你在比较喜欢吗? 请注意,(由于某种原因).NET具有(至少)两个不同的Key枚举。 它看起来像你对比较Keys枚举从Windows.Forms的,但是你可能需要比较,而不是对Key枚举从System.Windows.Input。

每个Enum的成员具有不同的值,因此,如果使用的是错误的,将解释您看到的行为。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM