0
我有一個VB.NET應用程序設置爲單個實例。當我第二次嘗試啓動應用程序時,它的窗口恢復到正常的窗口狀態,而不是最大化(就像在嘗試第二次啓動之前那樣)。我怎樣才能讓應用程序窗口保持最後狀態?保持單實例應用程序恢復後最大化
感謝您的幫助。
我有一個VB.NET應用程序設置爲單個實例。當我第二次嘗試啓動應用程序時,它的窗口恢復到正常的窗口狀態,而不是最大化(就像在嘗試第二次啓動之前那樣)。我怎樣才能讓應用程序窗口保持最後狀態?保持單實例應用程序恢復後最大化
感謝您的幫助。
您可以保存最後的狀態在註冊表或當它改變了一個文件,並應用它,當你加載你的應用程序
設置和獲取註冊表值檢查:
Public Function GetRegistryValue(ByVal KeyName As String, Optional ByVal DefaultValue As Object = Nothing) As Object
Dim res As Object = Nothing
Try
Dim k = My.Computer.Registry.CurrentUser.OpenSubKey("Software\YourApp", True)
If k IsNot Nothing Then
res = k.GetValue(KeyName, DefaultValue)
Else
k = My.Computer.Registry.CurrentUser.CreateSubKey("Software\YourApp")
End If
If k IsNot Nothing Then k.Close()
Catch ' ex As Exception
'PromptMsg(ex)
End Try
Return res
End Function
Public Sub SetRegistryValue(ByVal KeyName As String, ByVal _Value As Object)
Try
Dim k = My.Computer.Registry.CurrentUser.OpenSubKey("Software\YourApp", True)
If k IsNot Nothing Then
k.SetValue(KeyName, _Value)
Else
k = My.Computer.Registry.CurrentUser.CreateSubKey("Software\YourApp")
k.SetValue(KeyName, _Value)
End If
If k IsNot Nothing Then k.Close()
Catch ' ex As Exception
'PromptMsg(ex)
End Try
End Sub
沒有什麼是自動在這裏,超出StartupNextInstance事件。如果您在該事件的事件處理程序中對主窗體執行任何操作(例如恢復它),那麼這就是問題所在。發佈你的代碼,我們無法猜測它的樣子。 – 2012-02-17 13:33:07
對不起,延遲迴復。我根本不使用StartupNextInstance事件。我只是在項目設置中檢查了「單實例應用程序」porperty以啓用單實例。 – Daniel 2012-02-27 16:08:57