繁体   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