列頭的背景顏色與DataGridView.EnableHeadersVisualStyles屬性,Cell.Style.BackColor
下面的代碼示例演示如何禁用行和列標頭的視覺樣式在啟用了視覺樣式的應用程序。 在此示例中,可視樣式為應用程序啟用了通過調用 Main的 EnableVisualStyles 方法。 但是,在中,因為 EnableHeadersVisualStyles 設置為 false,視覺樣式不會應用於行和列標頭。 此代碼示例摘自為 DataGridViewAdvancedBorderStyle 類提供的一個更大的示例。
dataGridView1.EnableHeadersVisualStyles = false;
dataGridView1.Columns[1].HeaderCell.Style.BackColor = Color.Red;
列的內表邊框顏色與DataGridView.GridColor屬性
獲取和設置網格線的顏色,網格線對 DataGridView 的單元格進行分隔。
注:在使用單個邊框時,可以將 GridColor 屬性設置為任何顏色;對於其他類型的邊框,顏色由操作系統指定。如果通過 Application.EnableVisualStyles 方法為應用程序啟用了可視樣式,將忽略 GridColor 屬性,而使用當前主題的顏色。
外邊框的顏色與Paint事件和ControlPaint.DrawBorder(Graphics,Rectangle,Color,int,ButtonBoardStyle,...)方法
必須實現設置BorderStyle.None;
容器的尺寸必須大於容器的內容,否則容器的邊框將被覆蓋導致無法顯示。
該方式同樣適用於Panel。
拖動滾動條會觸發Paint事件導致線條亂入的問題。
private static void control_Paint(object sender, PaintEventArgs e)
{
ControlPaint.DrawBorder(e.Graphics,
((Panel)sender).ClientRectangle,
Color.FromArgb(170, 170, 170),
1,
ButtonBorderStyle.Solid,
Color.FromArgb(170, 170, 170),
1,
ButtonBorderStyle.Solid,
Color.FromArgb(170, 170, 170),
1,
ButtonBorderStyle.Solid,
Color.FromArgb(170, 170, 170),
1,
ButtonBorderStyle.Solid);
}
外邊框的顏色與Graphics.DrawRectangle(Pen, Rectangle)方法
private static void dataGridView_Paint(object sender, PaintEventArgs e)
{
Pen pen = new Pen(Color.FromArgb(170,170,170));
e.Graphics.DrawRectangle(pen, new Rectangle(0, 0, ((DataGridView)sender).Width - 1, ((DataGridView)sender).Height - 1));
}