我有一个Windows应用程序,我想在会话之间保存大小,位置和WindowState。但有一点需要注意。如果关闭时的状态被最小化,那么我想恢复到最后一个可见状态,即如果在最小化之前它是正常的则是正常的,或者如果它被最大化则最大化。
有财产,检查,打电话吗?
答案 0 :(得分:2)
这是表格持久性example和会话之间保存窗口状态。
至于在窗口最小化之前保存状态,这是你需要通过“记住”最后两个窗口状态来处理自己的东西,没有可以为你做的事情的属性/事件。
答案 1 :(得分:2)
您可以使用应用程序设置(用户范围),并且在表单上触发Form_Closing事件时,您可以选择如何在使用Properties.Settings.Default.Save();
保存设置之前修改设置。答案 2 :(得分:0)
在最小化/最大化之前,您可以“记住”恢复的位置。
您可以在保存位置之前恢复窗口,这样做的缺点是在关闭前让窗口闪烁。
或者你可以通过InterOp调用Win32函数GetWindowPlacment,它返回恢复的矩形。