簡體   English   中英

如何同時觸發快捷鍵和KeyDown事件? (C#Windows窗體)

[英]How to fire both Shortcut Keys and KeyDown event? (C# Windows Form)

我有一個TextBox的KeyDown事件,該事件在調用計時器時啟動一個計時器。 我也有一個粘貼MenuStripItem ,並將“設計視圖”中的ShorcutKeys屬性設置為Ctrl + V

我注意到當用戶按下快捷鍵( Ctrl + V )時,不會調用KeyDown事件。 當我將ShortcutKeys屬性設置為None時,通常會調用KeyDown。 當我按下Ctrl + V時,是否有辦法觸發這兩個事件?

我嘗試了其他MenuStripItem,結果是相同的。

編輯:非常感謝@Hans。 當我將代碼從KeyDown事件移到ProcessCmdKey時,它確實運行良好。 (因此,我認為ProcessCmdKey是每次按下某個鍵時都會調用的方法,實際上是什么)。 因為您刪除了以前的anwser,所以我現在不能將其標記為答案。

private void somethind_KeyDown(object sender, KeyEventArgs e)
{
    if (KeyCodes.Contains(e.KeyValue) || (e.KeyCode==Keys.V && e.Control))
        e.SuppressKeyPress = false;
    else 
        e.SuppressKeyPress=true;
}

請參閱以下鍵控代碼列表: http : //www.cambiaresearch.com/articles/15/javascript-char-codes-key-codes

我希望這有幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM