按百分比设置组件的尺寸

时间:2013-08-30 10:31:50

标签: c# winforms

在按百分比重新调整表单大小(例如最大化)之后,我需要设置组件的宽度和长度(例如DGV(DataGridView))。例如,我的DGV宽度应为100%,高度应为45%。

我读到了Dock和Anchor但我无法通过这些选项实现我的想法。

这个问题有适当的方法吗?

1 个答案:

答案 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();

enter image description here