1
我需要在重新调整窗体大小(例如,最大化)后按百分比设置组件的宽度和长度(例如,DGV(DataGridView
))。例如,我的DGV宽度应为100%,高度应为45%。按百分比设置组件的尺寸
我读过Dock和Anchor,但是我无法实现我的想法。
有没有适合这个问题的方法?
我需要在重新调整窗体大小(例如,最大化)后按百分比设置组件的宽度和长度(例如,DGV(DataGridView
))。例如,我的DGV宽度应为100%,高度应为45%。按百分比设置组件的尺寸
我读过Dock和Anchor,但是我无法实现我的想法。
有没有适合这个问题的方法?
您可以使用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();
非常感谢@Dominic。我用TableLayoutPanel和FlowLayout解决它。 – Chavoosh
对于我们这些谁不知道DGV是什么...? – oddparity
@oddparity我猜'DataGridView' – sloth
是的,它是'DataGridView'(DGV)。 – Chavoosh