DataGridView標題欄顏色設置無效 ...

設置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;
            }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章