我想让我的行根据屏幕大小自动调整大小。 当我为专栏做这个时,它确实有效:
grid.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill;
但是当我想为行做同样的事情时。我没有填充选项。 我只喜欢
grid.AutoSizeRowsMode = System.Windows.Forms.DataGridViewAutoSizeRowsMode.AllCells;
如何让我的行根据它的大小填充我的屏幕?
答案 0 :(得分:0)
您可以使用AutoResizeRow
方法。
每个MSDN:
如果要控制行调整大小的时间,此方法很有用。每个方法调用仅调整行高一次;如果该行的内容稍后更改,则该行不会自动调整。要调整所有行的大小,请使用AutoResizeRows方法。要将行设置为在其内容更改时自动调整大小,请使用AutoSizeRowsMode属性。
还有一个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
课程。您可以自行决定要维护哪种尺寸。