1

我目前正在编写一个需要 NotifyIcon 的多表单项目。第一个表单是登录表单,然后打开一个“登录”表单,最后打开另一个表单(它们都是使用 FormName.ShowDialog() 打开的,并且在打开下一个表单之前会隐藏自己)。

登录表单 -> 登录表单 -> 最终表单。

打开最终表单时,NotifyIcon 的可见属性设置为 true,并且它像正常一样出现在任务托盘中。但是当我在最终表单上使用 Me.Hide 时,NotifyIcon 会随着表单消失。

关于发生了什么的任何想法?尽管没有可见的表单(这是它的本意),但程序仍然在后台运行,但是没有 NotifyIcon,就无法使表单再次出现。

编辑 - 如果有帮助,登录表单将在另一个线程中打开,但使用委托。

4

3 回答 3

1

我找到了该问题的替代解决方案。我没有使用 Me.Hide,而是使用: Me.Opacity = 0 这不会导致 NotifyIcon 消失(并且在 NotifyIcon 上单击时它会将 Me.Opacity 设置为 100)。

感谢您尝试帮助伙计们。

于 2011-07-28T08:57:55.470 回答
0

您应该在主表单上设置“初始化”通知图标“所有表单对话框完成后将始终出现的表单”。如果问题仍然出现“它不应该!” 然后尝试使用Me.VisibleChanged事件,这样每当表单可见性更改为可见时,隐式调用notificationIcon.Visible = true,顺便说一句,您是否在其他地方将通知图标设置为 false ?

于 2011-07-26T05:12:25.707 回答
0

您可以在 Form_Shown 事件中隐藏表单。

Private Sub Form1_Shown(sender As Object, e As System.EventArgs) Handles Me.Shown
    Me.Hide
End Sub
于 2012-06-12T14:22:57.820 回答