2013-08-30 38 views
1

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

我读过Dock和Anchor,但是我无法实现我的想法。

有没有适合这个问题的方法?

+0

对于我们这些谁不知道DGV是什么...? – oddparity

+1

@oddparity我猜'DataGridView' – sloth

+0

是的,它是'DataGridView'(DGV)。 – Chavoosh

回答

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

+0

非常感谢@Dominic。我用TableLayoutPanel和FlowLayout解决它。 – Chavoosh