为了在窗体关闭后节省窗体大小,我在“属性”窗口中将ClientSize添加到“应用程序设置”和“数据绑定”中。这工作。但是,当我最小化窗体并将其激活时,它的大小最小。它是一个错误或我做错了什么窗体从最小化状态恢复后具有最小大小
- 创建新项目(WindowForm应用)
- 打开属性窗口窗体Form1
- 在应用程序设置中选择PropertyBinding
- 添加绑定的位置和ClientSize
- 运行
- 最大化,然后还原
为了在窗体关闭后节省窗体大小,我在“属性”窗口中将ClientSize添加到“应用程序设置”和“数据绑定”中。这工作。但是,当我最小化窗体并将其激活时,它的大小最小。它是一个错误或我做错了什么窗体从最小化状态恢复后具有最小大小
我找到了答案topic。因此,为了节省大小和位置而没有副作用,需要手动删除绑定并保存应用设置。
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
Properties.Settings.Default.Size = this.Size;
Properties.Settings.Default.Location = this.Location;
Properties.Settings.Default.Save();
}
private void Form1_Load(object sender, EventArgs e)
{
this.Size = Properties.Settings.Default.Size;
this.Location = Properties.Settings.Default.Location;
}
这仍然不能解决问题。当WindowState不正常时,您不*要*保存大小/位置。 – 2011-02-23 12:49:31
@Hans Passant - 在我的情况下,表单只能被最小化,所以不需要检查表单是否被最大化并且恢复它的大小 – Stecya 2011-02-23 12:53:24
好吧,这样写代码的普遍正确性就像它只是使其工作在你的具体案例。 – 2011-02-23 12:56:55
Yeesh。你说得对,那很丑。 – 2011-02-23 09:57:07