【问题标题】:adding a context menu left click event to a notify icon将上下文菜单左键单击事件添加到通知图标
【发布时间】:2011-02-19 14:40:29
【问题描述】:

一个notifyIcon在任务栏下,用户左键点击,左键后怎么显示contextmenu?

另外,如何让它在其他任何地方再次左舔时消失?

在此先感谢...!

【问题讨论】:

标签: c# .net vb.net desktop-application


【解决方案1】:

如果您使用 Visual Studio,这很容易,只需在 IDE 中向表单添加通知图标,然后添加上下文菜单项,

为了看到通知图标,它需要有一个图标(.ico)并且上下文菜单需要填充一个菜单结构。

在通知图标属性中,将 ContectMenuStrip 属性设置为您的上下文菜单,即 Contextmenue1。 默认情况下,如果用户右键单击该图标,它将显示菜单并在单击其他位置时将其隐藏,

如果您确实需要通过左键单击来实现,那么您需要编写代码

Private Sub NotifyIcon1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NotifyIcon1.Click

    ContextMenuStrip1.Show(Control.MousePosition)

End Sub

让它在左键单击时关闭有点不同,如果您的表单仍然打开,您可以在主表单中使用点击事件

Private Sub Form1_MouseClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseClick
    If ContextMenuStrip1.Visible = True Then
        ContextMenuStrip1.Visible = False

    End If
End Sub

如果不是,那么我建议您将鼠标移动绑定到单击而不是单击,即当鼠标离开菜单时它会关闭

 Private Sub ContextMenuStrip1_MouseLeave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ContextMenuStrip1.MouseLeave
    ContextMenuStrip1.Close()


End Sub

希望这就是你要找的东西

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多