【问题标题】:WinForm designer and right snapline for controls in container when resizing it调整大小时容器中控件的 WinForm 设计器和右对齐线
【发布时间】:2009-06-11 14:05:00
【问题描述】:

使用 Visual Studio 2008 WinForm 设计器,我有一个容器(窗体、面板、组框等)和其中的一些控件。

容器设置为不会以任何方式自动调整大小或停靠。在容器中放置控件时,我可以使用对齐线来帮助定位控件。

但是,当我将容器的大小调整到所包含控件的边缘时,对齐线不会出现...

有没有一种简单的方法可以让设计人员在调整容器大小时向我显示包含的控件的对齐线?

【问题讨论】:

    标签: winforms windows-forms-designer


    【解决方案1】:

    设计器只会在容器内移动子控件时显示对齐线。您可以通过在 Form 周围移动 GroupBox 来演示它,当 GroupBox 靠近 Form 的边缘时,它会显示对齐线,但是如果您要调整 Form 的大小,您将不会看到对齐线。

    如果您只是想让所有控件以统一的方式排列,我建议切换到 SnapToGrid 模式并使用网格线来对齐控件。您可以通过转到工具->选项->Windows 窗体设计器->布局模式来设置 SnapToGrid 模式。打开您的设计器,您应该会看到网格出现,然后您可以将控件与网格对齐。

    【讨论】:

    • 感谢您的回复,但我不想对齐控件。我想在容器内部有相同的间距,如果不调整控件的大小,我不能在底部区域使用它...
    【解决方案2】:

    设置表单的布局后,您还可以将锚定属性适当地设置为所有子控件,左右上下(或上下左右),具体取决于您正在调整大小。 Anchor 属性将保持子控件与容器边缘的距离相同(父控件)。

    【讨论】:

    • 当然可以,但我的问题是当我调整容器大小时,内部控件的底部/右侧距离会显示一些对齐线。
    【解决方案3】:

    在 WinForms 设计器中,调整容器控件大小时不支持对齐线。解决此问题的最佳方法是首先将容器调整为您想要使用的大小,然后添加控件。或者,您可以更改容器的 Margin 属性,以便在容器内移动控件时,它们将捕捉到容器的边缘,保持一致。

    【讨论】:

      【解决方案4】:

      试试:

      • container.AutoSize = true
      • container.AutoSizeMode = GrowAndShrink
      • container.Padding.All = 5

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-01-28
        • 1970-01-01
        • 2023-04-07
        • 2013-09-26
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多