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