c# - 使用 C# 测试 Ctrl 键是否按下

标签 c# winforms

我有一个表单,用户可以用鼠标双击它,它会做一些事情。现在我想知道当用户双击表单时用户是否也按住了 Ctrl 键。

如何判断用户是否按住了 Ctrl 键?

最佳答案

使用 .NET 4,您可以使用如下简单的东西:

    private void Control_DoubleClick(object sender, EventArgs e)
    {
        if (ModifierKeys.HasFlag(Keys.Control))
        {
            MessageBox.Show("Ctrl is pressed!");
        }
    }

如果您不使用 .NET 4,则 Enum.HasFlag 的可用性将被撤销,但要在以前的版本中实现相同的结果:

    private void CustomFormControl_DoubleClick(object sender, EventArgs e)
    {
        if ((ModifierKeys & Keys.Control) == Keys.Control)
        {
            MessageBox.Show("Ctrl is pressed!");
        }
    }

关于c# - 使用 C# 测试 Ctrl 键是否按下,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4705428/

相关文章:

c# - 将数据库中的数据绘制图表并合并具有相同值的行

c# - 在面板中创建 KeyDown 事件时遇到问题

c# - 如何从一个对象启动两个并行线程?

c# - 执行 IQueryable 查询的一部分并将其余部分推迟到 Linq for Objects

c# - Visual Studio : How would I write tool-tips for my own methods?

c# - 具有行号的 Windows 窗体文本框?

c# - 不是顶级窗体的窗体不能显示为模式对话框。在调用 showDialog 之前从任何父窗体中删除窗体

c# - 是否有事件让我知道 SD 卡是否已安装?必须复制数百张卡片

c# - CSS 类应用于没有该类名的元素,有什么想法吗?

.net - 应用程序设置,无需保存到 app.config