設置DataGridView.ColumnHeaderDefaultCellStyle的BackColor屬性會發現沒有效果。這是因爲在啓動了可視樣式的時候,BackColor和ForeColor的值會被忽略。要解決很簡單:datagridview1.EnableHeadersVisualStyles = false;獲取或設置一個值,該值指示在對應用程序啓用了可視樣式的情況下,行標題和列標題是否使用用戶當前主題的可視樣式。
//dataGridView.AutoResizeColumnHeadersHeight();
//dataGridView.AutoResizeRowHeadersWidth(DataGridViewRowHeadersWidthSizeMode.AutoSizeToDisplayedHeaders);
//dataGridView.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders;
//dataGridView.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
//dataGridView.ReadOnly = true;
//dataGridView.AllowUserToAddRows = false;
//dataGridView.BackgroundColor = Color.White;
//屬性
dataGridView.EnableHeadersVisualStyles = false;
dataGridView.AllowUserToAddRows = false;//禁止用戶添加行
//dataGridView.AllowUserToResizeColumns = false;//禁止用戶調整列大小
dataGridView.AllowUserToResizeRows = false;//禁止用戶調整行大小
dataGridView.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;//如何選擇單元格
dataGridView.RowHeadersVisible = false; //是否顯示行頭
//dataGridView.ColumnHeadersVisible = false; //是否顯示列頭
dataGridView.AutoGenerateColumns = false; //是否自動創建列
//dataGridView.MultiSelect = false; //是否可以選擇多行
//樣式
dataGridView.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Sunken;//列頭邊框樣式
dataGridView.RowHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Sunken;//行頭邊框樣式
DataGridViewCellStyle dataGridViewCellStyle1 = dataGridView.AlternatingRowsDefaultCellStyle; //奇數行單元格樣式
//DataGridViewCellStyle dataGridViewCellStyle3 = dataGridView.RowsDefaultCellStyle; //行單元格默認樣式
DataGridViewCellStyle dataGridViewCellStyle3 = dataGridView.RowHeadersDefaultCellStyle; //行頭單元格樣式
DataGridViewCellStyle dataGridViewCellStyle2 = dataGridView.ColumnHeadersDefaultCellStyle; //列頭單元格樣式
//奇數行單元格樣式設置
dataGridViewCellStyle1.BackColor = System.Drawing.Color.LightYellow;
////行頭單元格樣式設置
//dataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;//內容位置
//dataGridViewCellStyle3.BackColor = System.Drawing.Color.DarkRed;//背景
//dataGridViewCellStyle3.Font = new System.Drawing.Font("宋體", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));//字體
//dataGridViewCellStyle3.ForeColor = System.Drawing.Color.White;//字體顏色
//dataGridViewCellStyle3.SelectionBackColor = System.Drawing.SystemColors.Highlight;//選擇時背景
//dataGridViewCellStyle3.SelectionForeColor = System.Drawing.SystemColors.HighlightText;//選擇時字體顏色
//dataGridViewCellStyle3.WrapMode = System.Windows.Forms.DataGridViewTriState.True;//單元格內容太長時顯示格式
//列頭單元格樣式設置
dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
dataGridViewCellStyle2.BackColor = System.Drawing.Color.DarkRed;
dataGridViewCellStyle2.Font = new System.Drawing.Font("宋體", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle2.ForeColor = System.Drawing.Color.White;
dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
for (int i = 0; i < dataGridView.ColumnCount; i++)
{
dataGridView.Columns[i].Width = (dataGridView.Width /*- dataGridView.RowHeadersWidth*/ - 15) / dataGridView.ColumnCount;
}