我目前正在使用VB.Net 2008.
该项目已选中“make single instance application”复选框。
应用程序通过在窗体最小化时隐藏窗体来工作。
Private Sub Form1_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Resize
If Me.WindowState = FormWindowState.Minimized Then
Me.Hide()
End If
End Sub
当在通知图标中按下适当的菜单项时,表单应该再次显示。
Private Sub ShowToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
Handles ShowToolStripMenuItem.Click
Me.Show()
Me.WindowState = FormWindowState.Normal
End Sub
这样可以正常工作,直到用户尝试在窗体最小化时打开同一个应用程序。当发生这种情况时,应用程序将阻止用户试图按预期打开的应用程序的新实例,但是当用户然后从notifyicon的菜单显示该表单时,它似乎打开(它显示任务栏中的表单) )但没有显示窗口。
此时窗口可以最大化并按预期工作,但是使用恢复按钮不会绘制窗口,但仍会显示在任务栏中。
如果可以提供有关如何正确恢复表单的任何帮助,我们将非常感激。
提前致谢
答案 0 :(得分:0)
只是一些建议......
您可以使用表单的ShowInTaskbar属性而不是使用Hide()和Show()吗?
在使用Hide()时将其设置为false,在当前使用Show()的位置设置为true,并查看是否有任何区别。
或者在调用Show()之前将WindowState设置为Normal。