@H_502_1@我想使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内部元素宽度的软硬件因子.我记得看到代码可以让你得到这个值,没有硬编码,但我现在找不到.