[英]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.