簡體   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