我目前正在编写一个需要NotifyIcon的多表单项目。第一种形式是登录表单,然后打开一个“登录”表单,然后最后打开另一个表单(它们都是使用FormName.ShowDialog()打开的,并且在打开下一个表单之前隐藏它们自己)。
登录表格 - >登录表单 - >最终表格。
打开最终表单时,NotifyIcon的visible属性设置为true,它会像正常一样出现在任务栏中。但是当我在最终形式上使用Me.Hide时,NotifyIcon会随着表单消失。
有关正在发生的事情的任何想法?该程序仍然在后台运行,尽管没有可见的形式(这是它的目的)但没有NotifyIcon,就没有办法让表格再次出现。
编辑 - 如果有帮助,登录表单将在另一个线程中打开,但使用委托。
答案 0 :(得分:1)
我找到了解决问题的替代方案。我没有使用Me.Hide,而是使用:Me.Opacity = 0,这不会导致NotifyIcon消失(并且在NotifyIcon上,它在点击时将Me.Opacity设置为100)。
感谢您尝试帮助他们。
答案 1 :(得分:0)
您应该在主窗体上设置“初始化”通知图标“在所有窗体对话框完成后将始终显示的窗体”。如果问题仍然发生“它不应该!”然后尝试使用Me.VisibleChanged事件,以便每当表单可见性更改为可见时,隐式调用notificationIcon.Visible = true
,顺便提一下,您在其他地方将通知图标设置为false吗?
答案 2 :(得分:0)
您可以在Form_Shown事件中隐藏表单。
Private Sub Form1_Shown(sender As Object, e As System.EventArgs) Handles Me.Shown
Me.Hide
End Sub