2008-09-25 40 views
2

我有一個Windows應用程序,我想保存會話之間的大小,位置和WindowState。但有一點需要注意。如果關閉時的狀態最小化,那麼我希望恢復到最後一個可見狀態,即正常(如果它在最小化前是正常的,或者是最大化時是最大化)。你如何獲得(.net)表單將被恢復的狀態?

有沒有財產,檢查,調用這樣做呢?

回答

2

這裏有一個關於持久性的形式和保存會話之間窗口狀態的example

至於儲蓄窗口前的狀態被最小化,這就是你需要通過「記住」最後兩個窗口狀態來處理自己的事情,有沒有財產/事件能爲你做的。

2

您可以使用應用程序設置(用戶範圍),並在窗體上觸發Form_Closing事件時,您可以選擇如何修改設置,然後使用Properties.Settings.Default.Save()保存設置。

0

可以「記住」最小化/最大化前的恢復位置。

您可以在保存之前的位置恢復窗口,這有關閉之前讓你的窗口閃爍的缺點。

或者你也可以通過打電話的互操作Win32函數GetWindowPlacment,它返回恢復矩形。