从最小化状态恢复后,表单具有最小大小

Ste*_*cya 7 .net c# size binding winforms

我在"属性"窗口中将"ClientSize"添加到"应用程序设置"和"数据绑定",以便在窗体关闭后保存窗体的大小.这很有效.但是当我最小化形状然后将其激活回来时,它具有最小尺寸.这是一个错误还是我做错了什么

  1. 创建新项目(WindowForm应用程序)
  2. 打开属性窗口Form1
  3. 在应用程序设置中,选择PropertyBinding
  4. 为Location和ClientSize添加绑定
  5. 最大化然后恢复

Ste*_*cya 3

我在这个主题中找到了答案。因此,为了节省大小和位置而不产生副作用,需要删除绑定并手动保存应用程序设置

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;
}
Run Code Online (Sandbox Code Playgroud)

  • 这仍然不能解决问题。当 WindowState 不正常时,您“不想”保存大小/位置。 (2认同)