DataGridView有一個屬性是AutoSizeColumnMode,他有幾個枚舉值:
1、AllCells 調整列寬,以適合該列中的所有單元格的內容,包括標題單元格。
2、AllCellsExceptHeader 調整列寬,以適合該列中的所有單元格的內容,不包括標題單元格。
3、ColumnHeader 調整列寬,以適合列標題單元格的內容。
4、DisplayedCells 調整列寬,以適合當前屏幕上顯示的行的列中的所有單元格的內容,包括標題單元格。
5、DisplayedCellsExceptHeader 調整列寬,以適合當前屏幕上顯示的行的列中的所有單元格的內容,不包括標題單元格。
6、Fill 調整列寬,使所有列的寬度正好填充控件的顯示區域,只需要水平滾動保證列寬在DataGridViewColumn.MinimumWidth 屬性值以上。相對列寬由相對 DataGridViewColumn.FillWeight 屬性值決定。
7、None 列寬不會自動調整。
8、NotSet 列的大小調整行為從 DataGridView.AutoSizeColumnsMode 屬性繼承。
注:如果想要自動設置列寬.在這裡就必須把DataGridView的值設置為Fill
this.dataGridView.DataSource = ds.Tables[0];
this.dataGridView.Columns[0].FillWeight = 10; //第一列的相對寬度為10%
this.dataGridView.Columns[1].FillWeight = 20; //第二列的相對寬度為20%
this.dataGridView.Columns[2].FillWeight = 30; //第三列的相對寬度為30%
這裡的值是相對於DataGridView當前的總寬度的,所以窗體最大化和縮小的效果是不一樣的,但比例不變
注:如何給每列設置標頭
設置標題字段(先把ColumnsHeadersVisible設置為true)
this.dataGridView.Columns[0].HeaderText = "編號";
this.dataGridView.Columns[1].HeaderText = "日期";
this.dataGridView.Columns[2].HeaderText = "標題";