如何判断在MouseDown事件中是否按下了Shift?

时间:2010-09-13 15:24:51

标签: winforms events

我在控件上捕获MouseDown事件,它在签名中为我提供了一个MouseEventArgs对象。现在我希望能够判断用户在单击时是否按住“Shift”或“Control”键。但MouseEventArgs对象不包含任何键盘信息!

在点击时是否最简单的方法是告知键盘 Shift / Ctrl 键是否被保留?

2 个答案:

答案 0 :(得分:32)

使用Controls.ModifierKeys属性查看按下的内容。例如:

    private void Form1_MouseClick(object sender, MouseEventArgs e) {
        if (Control.ModifierKeys == Keys.Control) {
            Console.WriteLine("Ctrl+Click");
        }
    }

其他修饰符为Keys.AltKeys.Shift。查找与(Keys.Control | Keys.Shift)

组合的组合

答案 1 :(得分:3)