如何使行自动调整大小

时间:2012-03-15 19:39:44

标签: c# datagrid cells

我想让我的行根据屏幕大小自动调整大小。 当我为专栏做这个时,它确实有效:

grid.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill;

但是当我想为行做​​同样的事情时。我没有填充选项。 我只喜欢

grid.AutoSizeRowsMode = System.Windows.Forms.DataGridViewAutoSizeRowsMode.AllCells;

如何让我的行根据它的大小填充我的屏幕?

1 个答案:

答案 0 :(得分:0)

您可以使用AutoResizeRow方法。

每个MSDN:

  

如果要控制行调整大小的时间,此方法很有用。每个方法调用仅调整行高一次;如果该行的内容稍后更改,则该行不会自动调整。要调整所有行的大小,请使用AutoResizeRows方法。要将行设置为在其内容更改时自动调整大小,请使用AutoSizeRowsMo​​de属性。

还有一个MSDN样本here

您可能希望查看名为RowTemplate的{​​{1}}媒体资源。您可以计算屏幕尺寸何时更改

编辑:

您可以将其置于调整大小事件中,例如Height。关于网格如何用大量行执行的YMMV。

Form_ResizeEnd

如果您想要主屏幕的高度,我相信您可以使用foreach (DataGridViewRow row in dataGridView1.Rows) { row.Height = 22; //your calculation based on the screen height } 课程,特别是System.Windows.Form.Screens课程。您可以自行决定要维护哪种尺寸。