【问题标题】:C# windows application, how to save & restore positions of child formsC# windows 应用程序,如何保存和恢复子窗体的位置
【发布时间】:2010-03-22 13:16:06
【问题描述】:

我有一个带有 MDI 表单和一些子表单的 Windows 应用程序。 我需要保存子窗体的位置,然后再次打开时恢复。

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

另外,我需要检查子表单的标题栏是否没有隐藏在 mdi 表单下(例如,标题栏可能会因为 mdi 表单的菜单而被隐藏)。如果是这种情况,那么我需要巧妙地设置位置。

提前谢谢...

【问题讨论】:

    标签: c# .net winforms


    【解决方案1】:

    查看这篇 CodeProject 文章:Restore Form Position and Size in C#

    它的要点是您必须获取表单的大小和位置并将其保留在项目设置中。您必须稍微调整一下以适应您的需要(确保表单适合父窗口的边界等)。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2023-03-16
        • 1970-01-01
        • 1970-01-01
        • 2021-07-12
        • 1970-01-01
        相关资源
        最近更新 更多