我有一个全屏运行的Windows应用程序,我的表单中有一些面板,我希望它们在宽度上伸展,我的意思是我可以如何为这些面板添加width = 100%?
如下图所示,右侧面板是我应该伸展的内部面板(容器面板),它包含许多项目:2个面板,工具条和网格。我只是将Doc =“Fill”和Anchor =“top; right; left; bottom”设置为它,但没有任何改变。
答案 0 :(得分:10)
要使面板拉伸到整个窗体,请更改面板控件的Anchor
属性,并将其设置为所有四个。调整控件的大小以拉伸到整个表单。
panel1.Anchor = AnchorStyles.Top | AnchorStyles.Right | AnchorStyles.Bottom | AnchorStyles.Left;
其次是制作全屏表格:
this.WindowState = FormWindowState.Maximized;
this.FormBorderStyle = FormBorderStyle.None;
答案 1 :(得分:3)
在Windows窗体中,有两种方法可以使用以下格式设置控件大小:Dock
和Anchor
属性:
Docking为您提供了一种在窗体边缘和中心控件上进行控制的方法。 Anchor
允许您声明控件应始终与给定边集的距离相同。如果同时启用左边缘和右边缘,则随着窗体调整大小,它将在宽度上调整大小。
答案 2 :(得分:0)
锚点让我很头疼。在 WinForms 中,我更喜欢使用 TableLayoutPanel 进行流畅的布局。
只需将 TableLayoutPanel 的 Dock 设置为 Fill,您就可以使用绝对或相对大小指定行和列。然后只需将控件添加到表格的正确单元格并将其 Dock 设置为 Fill。
来自 WPF,这类似于使用网格并指定行和列定义。您也可以将 TableLayoutPanel 放在其他 TableLayoutPanel 中。