DataGridView有一個屬性是AutoSizeColumnMode,他有幾個屬性:
AllCells 調整列寬,以適合該列中的所有儲存格的內容,包括標題儲存格。
AllCellsExceptHeader 調整列寬,以適合該列中的所有儲存格的內容,不包括標題儲存格。
ColumnHeader 調整列寬,以適合欄位標題儲存格的內容。
DisplayedCells 調整列寬,以適合當前螢幕上顯示的行的列中的所有儲存格的內容,包括標題儲存格。
DisplayedCellsExceptHeader 調整列寬,以適合當前螢幕上顯示的行的列中的所有儲存格的內容,不包括標題儲存格。
Fill 調整列寬,使所有列的寬度正好填充控制項的顯示地區,只需要水平滾動保證列寬在 DataGridViewColumn.MinimumWidth 屬性值以上。相對列寬由相對 DataGridViewColumn.FillWeight 屬性值決定。
None 列寬不會自動調整。
NotSet 列的大小調整行為從 DataGridView.AutoSizeColumnsMode 屬性繼承。
設定為Fill.
然後先給DataGridView綁定資料來源.然後
DataSet ds2 = momedal.Binddvg(flagcbb);
this.dgvMain.DataSource = ds2.Tables[0];
this.dgvMain.Columns[0].FillWeight = 8; //第一列的相對寬度為8%
this.dgvMain.Columns[1].FillWeight = 22; //第一列的相對寬度為22%
this.dgvMain.Columns[2].FillWeight = 70; //第一列的相對寬度為70%
設定標題欄位(先把ColumnsHeadersVisible設定為true)
this.dgvMain.Columns[0].HeaderText = "編號";
this.dgvMain.Columns[1].HeaderText = "日期";
this.dgvMain.Columns[2].HeaderText = "標題";
//改變datagirdview焦點
public void moveCurrentCell(int i)
{
//DataGridView獲得焦點
dataGridView1.Focus();
//DataGridView指定目前的儲存格
dataGridView1.CurrentCell = dataGridView1[1, i];
}