当您按住Ctrl键并单击WinForm中的按钮时运行?

Lan*_*ine 0 vb.net mouseevent keyboard-events winforms

当用户按住ctrl按钮并单击NotifyIcon时,我正在尝试运行不同的代码.

我的代码不起作用,但我觉得它清楚地解释了我何时尝试.这是在鼠标点击事件下.

        Private Sub NotifyIcon_MouseClick(ByVal sender As Object, ByVal e As MouseEventArgs) Handles NotifyIcon.MouseClick
        If (e.Modifiers = Keys.Control) Then
            MsgBox("CTRL was pressed !")
        Else
            MsgBox("CTRL was not pressed !")
        End If
        End Sub
Run Code Online (Sandbox Code Playgroud)

Toa*_*ows 5

不精通 VB,但您也将其标记为 C#,对于您来说切换应该是微不足道的。

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


rhe*_*man 5

不依赖于MouseEventArgs的通用方法:

            If My.Computer.Keyboard.CtrlKeyDown Then
                ...
            Else
                ...
            End If
Run Code Online (Sandbox Code Playgroud)

你也可以检查Alt,Shift ....