2015-05-22 52 views
1

我已经尝试了不同的解决方案给这里的问题,但似乎无法绕过它。我想检测ShiftCtrlC在VB.Net中的KeyDown事件。如何在VB.NET中检测多个修饰符和非修饰键的组合?

KeyPreview属性为我的表单设置为true。

我想的是:

If e.Modifiers = (Keys.Shift And Keys.Control) And e.KeyCode = Keys.C Then 
    'do the action 
End If 

任何帮助,将不胜感激!

+3

'如果e.Modifiers =(Keys.Shift或者Keys.Control)...'在[MSDN](https://msdn.microsoft.com/query /dev11.query?appId=Dev11IDEF1&l=EN-US&k=k(System.Windows.Forms.KeyEventArgs.Modifiers);k(TargetFrameworkMoniker-.NETFramework,Version%3Dv4.5);k(DevLang-VB)&rd=true) '要确定是否按下特定的修饰键,请使用Ctrl,Shift和Alt属性。修饰符标志可以与按位或组合。' – Plutonix

回答

1

你的问题的意见是正确的:

If (e.KeyCode = Keys.C AndAlso e.Modifiers = (Keys.Control Or Keys.Shift)) Then 
    'Do what you want here 
End If 

如果你想给你的表格上任何地方发生,你需要把你的FormTrueKeyPreview

然后你可以把它放在

+0

仍然无法正常工作! –

+0

究竟什么不行?我通过按下这些键并显示消息框来测试它。你想看这个代码吗? 请参阅编辑RE:在哪里放置代码。 – Sastreen