5

我有一个全屏运行的 Windows 应用程序,并且我的表单中有一些面板,我希望它们在宽度上伸展,我的意思是如何将宽度 = 100% 添加到这些面板?

如下图所示,右侧面板是我的内部面板(容器面板),应该可以拉伸,它包含许多项目:2 个面板、工具条和一个网格。我只是将 Doc="Fill" 和 Anchor="top; right; left; bottom" 设置为它,但没有任何改变。

在此处输入图像描述

4

3 回答 3

10

要使面板伸展到整个表单,请更改Anchor面板控件的属性并将其设置为所有四个。调整控件的大小以拉伸到整个窗体。

panel1.Anchor = AnchorStyles.Top | AnchorStyles.Right | AnchorStyles.Bottom | AnchorStyles.Left;

其次用于制作全屏表单:

this.WindowState = FormWindowState.Maximized;
this.FormBorderStyle = FormBorderStyle.None;
于 2012-07-30T05:22:08.717 回答
4

在 Windows 窗体中,有两种方法可以使用窗体制作控件大小:DockAnchor属性:

在此处输入图像描述 在此处输入图像描述

停靠为您提供了一种在表单边缘设置控件和中心控件的方法。Anchor允许您声明控件与给定的一组边之间的距离应始终相同。如果您同时启用左边缘和右边缘,那么它将随着表单调整大小而调整宽度。

于 2012-07-30T05:16:54.510 回答
0

锚让我很头疼。在 WinForms 中,我更喜欢使用 TableLayoutPanel 进行流畅的布局。

只需将 TableLayoutPanel 的 Dock 设置为 Fill,您就可以使用绝对或相对大小指定行和列。然后只需将控件添加到表格的正确单元格并将其 Dock 设置为 Fill。

来自 WPF,这类似于使用 Grid 并指定行和列定义。您还可以将 TableLayoutPanels 放在其他 TableLayoutPanels 中。

于 2021-07-27T23:49:54.790 回答