Winform中怎样对窗体进行隐藏,再次打开时仍然保留上次的窗体
时间: 2024-10-03 07:01:34 浏览: 98
在Windows Form应用程序中,如果你想让窗体在被隐藏后下次启动时保持之前的显示状态,你可以通过保存窗体的位置、大小以及是否最大化等信息到配置文件或者数据库中。下面是一个基本步骤:
1. **保存窗体状态**:
- 使用`FormClosing`事件,在窗体关闭(`Hide()`)之前,记录窗体的位置(`Location`属性)、大小(`Size`属性)和是否最大化(`WindowState`属性)。例如:
```csharp
private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
{
// 将窗体位置、尺寸和状态保存到配置文件或数据库
Properties.Settings.Default.StartPosition = this.Location.ToString();
Properties.Settings.Default.Size = this.Size.ToString();
Properties.Settings.Default.WindowState = this.WindowState.ToString();
Properties.Settings.Save();
}
```
2. **加载保存的状态**:
- 在窗体加载时(比如`Form_Load`或`Application_StartUp`),从配置文件或数据库中读取并应用保存的信息,恢复窗体的初始状态:
```csharp
private void MainForm_Load(object sender, EventArgs e)
{
// 从配置文件或数据库获取并设置窗体状态
string startPostion = Properties.Settings.Default.StartPosition;
Size newSize = new Size(Properties.Settings.Default.Size);
FormWindowState state = (FormWindowState)Enum.Parse(typeof(FormWindowState), Properties.Settings.Default.WindowState);
if (!string.IsNullOrEmpty(startPostion))
{
int[] pos = Int32.Parse(startPostion);
this.Location = new Point(pos[0], pos[1]);
}
this.Size = newSize;
this.WindowState = state;
}
```
注意,这只是一个基本示例,实际操作可能会因环境和需求的不同而有所调整。如果你需要更高级的功能,如记住用户对特定控件的设置,可能还需要扩展这个思路。
阅读全文