爲了在窗體關閉後節省窗體大小,我在「屬性」窗口中將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