我有一個Windows應用程序與MDI窗體和一些子窗體。 我需要保存子窗體的位置,然後在再次打開時進行恢復。C#窗口應用程序,如何保存和恢復子窗體的位置
如何在C#中做到這一點?
另外,我需要檢查,如果子窗體的標題欄是不MDI形式下隱藏(如標題欄可能會隱藏,因爲MDI窗體的菜單)。如果是這種情況,那麼我需要巧妙地設置位置。
在此先感謝...
我有一個Windows應用程序與MDI窗體和一些子窗體。 我需要保存子窗體的位置,然後在再次打開時進行恢復。C#窗口應用程序,如何保存和恢復子窗體的位置
如何在C#中做到這一點?
另外,我需要檢查,如果子窗體的標題欄是不MDI形式下隱藏(如標題欄可能會隱藏,因爲MDI窗體的菜單)。如果是這種情況,那麼我需要巧妙地設置位置。
在此先感謝...
看看這個CodeProject上的文章:Restore Form Position and Size in C#
它的要點是,你必須採取的形式的大小和位置,在項目設置中堅持它。您必須稍微調整它以適應您的需求(確保表單符合父窗口的邊界等)。
您可以使用表格的.Bounds屬性來獲取表單的位置和大小。創建表單時,您將設置.Bounds屬性,並在表單關閉時可以記錄位置並將其保存到註冊表或文件中。設置.Bounds屬性時,需要確保座標對當前桌面大小有效,以防萬一用戶更改了分辨率或出現了問題 - 您不希望將該表單顯示在桌面之外。您可以使用Screen.PrimaryScreen.WorkingArea獲取當前桌面尺寸,然後比較保存的表單邊界的座標。如果您想手動設置位置,則還需要將表單的StartPosition屬性設置爲手動。
它爲我工作... 非常感謝 – 2010-05-08 04:31:56