我MouseDown在控件上捕获一个事件,它MouseEventArgs在签名中给了我一个对象.现在我希望能够判断用户在单击时是否按住"Shift"或"Control"键.但该MouseEventArgs对象不包含任何键盘信息!
什么是告诉键盘Shift/ Ctrl键是否在点击时被保持的最简单方法?
Han*_*ant 34
使用Controls.ModifierKeys属性查看按下的内容.例如:
private void Form1_MouseClick(object sender, MouseEventArgs e) {
if (Control.ModifierKeys == Keys.Control) {
Console.WriteLine("Ctrl+Click");
}
}
Run Code Online (Sandbox Code Playgroud)
其他修饰符是Keys.Alt和Keys.Shift.例如,找到组合(Keys.Control | Keys.Shift).
在 C# 中,您可以使用 -
Keyboard.IsKeyDown(Key.LeftShift) or key.RightShift
Run Code Online (Sandbox Code Playgroud)
http://msdn.microsoft.com/en-us/library/system.windows.input.keyboard.iskeydown.aspx
http://msdn.microsoft.com/en-us/library/system.windows.input.key.aspx