1
當用戶調整大小並調整我的程序窗口(Winforms)的位置時,即使關閉並重新打開程序後,他們也期望在同一位置看到窗口。我所做的是存儲窗體的寬度,高度,Location.X和Location.Y屬性,並在程序重新打開時重新設置它們。當窗口最大化時獲得非最大化的窗口位置/大小
問題是當窗口最大化時,寬度,高度,X,Y不是指最大化寬度/高度/ X/Y,而是指最大化尺寸。
因此,當用戶使窗口最大化時,關閉並重新打開程序,並取消窗口的最大化,而不是返回到原來的位置/大小,它將保持全尺寸/位置。
因此,在某些事件執行後,如果不使用kludge存儲變量,那麼當窗口最大化時如何獲得非最大化的位置和大小?
爲什麼地球上你會比較枚舉的字符串表示形式?只需做一個簡單的'WindowState!= FormWindowState.Maximized'。 – cremor
除了@ cremor的建議,您可以通過將'WindowState == FormWindowState.Maximized'分配給var並測試該布爾值來進一步改進此答案。 –
好了。我搜索了大約15分鐘來查找RestoreBounds屬性,所以這是答案的肉,並且它被應用於我創建的舊代碼,所以請原諒我沒有爲優化而節省5毫秒;) –