在按百分比重新调整表单大小(例如最大化)之后,我需要设置组件的宽度和长度(例如DGV(DataGridView
))。例如,我的DGV宽度应为100%,高度应为45%。
我读到了Dock和Anchor但我无法通过这些选项实现我的想法。
这个问题有适当的方法吗?
答案 0 :(得分:2)
您可以使用TableLayoutPanel
处理布局。
对于您的示例,请创建一个包含单列和两行的TableLayoutPanel
,将行大小设置为55%和45%,并将DataGridView
添加到第二列。
示例:强>
var form = new Form();
var dgv = new DataGridView { Dock = DockStyle.Fill };
var table = new TableLayoutPanel
{
Dock = DockStyle.Fill,
ColumnCount = 1,
RowCount = 2
};
table.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100F));
table.RowStyles.Add(new RowStyle(SizeType.Percent, 55F));
table.RowStyles.Add(new RowStyle(SizeType.Percent, 45F));
table.Controls.Add(dgv, 0, 1);
form.Controls.Add(table);
form.ShowDialog();