C# · 12月 31, 2021

c# – 将dataGridView的大小适合于行和列的总大小

我想使dataGridView的大小适合列和行的总大小.关于总高度,我设法使其适合列的高度: const int datagridLines = 30;s.Height = dataGridView2.Columns[0].HeaderCell.Size.Height;for (byte i = 0; i < datagridLines; i++){ dataGridView2.Rows.Add(); s.Height += dataGridView2.Rows[i].Height;}dataGridView2.ClientSize = s;

我尝试了一些东西也适合宽度,但没有运气.有什么建议么?

谢谢.

解决方法 这应该工作: int height = 0;foreach (DataGridViewRow row in dataGridView1.Rows) { height += row.Height;}height += dataGridView1.ColumnHeadersHeight;int width = 0;foreach (DataGridViewColumn col in dataGridView1.Columns) { width += col.Width;}width += dataGridView1.RowHeadersWidth;dataGridView1.ClientSize = new Size(width + 2,height + 2);

宽度和高度值的2是用于考虑DataGridView内部元素宽度的软硬件因子.我记得看到代码可以让你得到这个值,没有硬编码,但我现在找不到.