2010-03-22 63 views
3

我有一个Windows应用程序与MDI窗体和一些子窗体。 我需要保存子窗体的位置,然后在再次打开时进行恢复。C#窗口应用程序,如何保存和恢复子窗体的位置

如何在C#中做到这一点?

另外,我需要检查,如果子窗体的标题栏是不MDI形式下隐藏(如标题栏可能会隐藏,因为MDI窗体的菜单)。如果是这种情况,那么我需要巧妙地设置位置。

在此先感谢...

回答

2

看看这个CodeProject上的文章:Restore Form Position and Size in C#

它的要点是,你必须采取的形式的大小和位置,在项目设置中坚持它。您必须稍微调整它以适应您的需求(确保表单符合父窗口的边界等)。

+0

它为我工作... 非常感谢 – 2010-05-08 04:31:56

1

您可以使用表格的.Bounds属性来获取表单的位置和大小。创建表单时,您将设置.Bounds属性,并在表单关闭时可以记录位置并将其保存到注册表或文件中。设置.Bounds属性时,需要确保坐标对当前桌面大小有效,以防万一用户更改了分辨率或出现了问题 - 您不希望将该表单显示在桌面之外。您可以使用Screen.PrimaryScreen.WorkingArea获取当前桌面尺寸,然后比较保存的表单边界的坐标。如果您想手动设置位置,则还需要将表单的StartPosition属性设置为手动。

相关问题