Fau*_*Orc 6 .net c# vb.net desktop-application
任务栏中有一个notifyIcon,用户左键单击它,如何显示左键单击后的上下文菜单?
另外,如何让它在其他地方再次左舔时消失?
提前致谢...!
小智 4
如果您使用 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
Run Code Online (Sandbox Code Playgroud)
让它在左键单击时关闭有点不同,如果您的表单仍然打开,您可以在主表单中使用单击事件
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
Run Code Online (Sandbox Code Playgroud)
如果没有,那么我建议您将鼠标移动与单击联系起来,即当鼠标离开菜单时它会关闭
Private Sub ContextMenuStrip1_MouseLeave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ContextMenuStrip1.MouseLeave
ContextMenuStrip1.Close()
End Sub
Run Code Online (Sandbox Code Playgroud)
希望这就是您正在寻找的