2010-10-29 43 views
5

我有一個.NET應用程序與按鈕使用數字助記符。 (例如「& 1 - 檢查」和「& 2 - 現金」)當我點擊Alt + 1時,我希望點擊Check按鈕。當我在鍵盤上使用標準數字鍵時,這將起作用。但是,當我使用數字鍵盤按Alt + 1時,Windows會接管並插入與「alt code」爲1的符號。請參閱http://alt-codes.org/list/。 如何防止這種情況發生在我的應用程序中?如何防止.NET應用程序中的Alt代碼?

謝謝!

+2

你可以簡單地使用更多的自然記憶法,即使用被選擇從選項鍵字母。 – Lazarus 2010-10-29 16:06:28

回答

2

這可以通過在窗體上啓用KeyPreview並處理KeyUp事件來完成。 下面的代碼繞過Windows的ALT代碼的功能,並導致按鈕點擊,當我按下Alt + NUMPAD1:

if (e.Alt && e.KeyCode == Keys.NumPad1) 
{ 
    e.Handled = true; 
    button1.PerformClick(); 
} 
1

這個Alt + numkey組合是一個Windows功能(非常有用),你不能繞過它。
我前段時間嘗試過這個遊戲(你知道......技能欄快捷方式?),我已經做了一些研究......這是不可能的。
我也很樂意看到這種方式!

+0

Holy!@#$(我不能評論其他答案),我很高興你找到了一個方法! :O仍然,我認爲這是一個錯誤。 ☺編輯:鍵盤鉤甚至沒有運行... – Vercas 2010-10-29 20:08:54

1

執行此操作的一種可能方法是使用keyboard hooks,截取按鍵,然後按照您認爲合適的方式進行操作。現在,它會解決上述問題,並停止操作系統插入charcode,我不知道。

相關問題