C# 中的布局管理器

Nik*_*hil 5 c# java layout winforms boxlayout

我正在尝试用 C# 设计 UI。我有 Java 背景,熟悉 Java 中的不同布局管理器。

所以我想做的是:

我有一个窗格。我希望在此窗格中逐个添加控件。在 Java 中,我会使用 BoxLayout(Y 轴),然后添加控件。此外,可以通过为每个单独的容器使用不同的布局来进一步定制单独的控件/容器。

我如何在 C# 中执行此操作?

我需要做的是:

1)添加一个在另一个之下的控件。每个单独的控件都可以是较小控件的集合。

所以我能拥有的是这样的:

Control 1 here
Control 2 here
Control 3 here
Run Code Online (Sandbox Code Playgroud)

每个控件都可以有自己的布局,例如 X 轴上的 BoxLayout 等等。我该如何做这一切?

PS:我用的是WINFORMS。

RJ *_*han 5

我会尝试一下您正在构建 WinForms,并建议您查看以下控件,它们与 Java 布局管理器类似;

  • 控制板
  • 流程布局面板
  • 表格布局面板

面板允许您在其中任意放置控件,并且您可以使用 Dock、Anchor 和 Location 属性来定位每个子控件。

如果您将流程设置为“TopDown”,FlowLayoutPanel 将执行您所要求的操作,但所有内容都将左对齐,并且我相信这是无法更改的。

我认为 TableLayoutPanel 对您来说是最有用的。只需创建具有 1 列的面板,并将每个控件添加到一行。可以将行设置为其内容的 AutoSize,以便为您提供与我认为最接近的 BoxLayout 匹配。