有时我们设置的了DataGridView的ColumnHeadersDefaultCellStyle属性中的外观颜色后,运行没有效果。如下图:

遇到这种情况,只需要再设置一下dataGridView的EnableHeadersVisualStyles的属性为false即可。如下图橘黄色箭头所示位置。

修改完成后,如下图所示:

DataGridView设置问题:
        在DataGridView控件的ColumnHeadersDefaultCellStyle属性中设置列标题字体样式后,
非运行时看有效,运行时则无效,除了EnableHeadersVisualStyles属性设置为false之外,还有可能是因为datagridview控件放在panel或其它容器内导致,因为外部容器有个默认字体样式,嵌入在内部的datagridview控件会受到外部容器的影响,显示为容器的默认字体,只需将外部容器的字体样式和datagridview统一就可以了。
注意:这个外部容器有可能是画面,画面的字体可能会影响到DataGridView的字体。

碰到以上情况,也可以通过代码的方式解决,总结如下:

//通过代码设置DataGridView的属性
this.dgv_Main.DefaultCellStyle.Font = new Font("楷体", 13);//字体
this.dgv_Main.DefaultCellStyle.Font = new Font("楷体", 13, FontStyle.Strikeout);//字体中间有横线
this.dgv_Main.DefaultCellStyle.Font = new Font("楷体", 13, FontStyle.Italic);//字体是斜体
this.dgv_Main.DefaultCellStyle.Font = new Font("楷体", 13, FontStyle.Bold);//字体加粗
this.dgv_Main.DefaultCellStyle.Font = new Font("楷体", 13, FontStyle.Underline);//字体有下划线
            

this.dgv_Main.RowTemplate.Height = 35;//行高
this.dgv_Main.DefaultCellStyle.ForeColor = Color.Blue;//字体颜色
this.dgv_Main.DefaultCellStyle.BackColor = Color.Beige;//背景颜色
this.dgv_Main.DefaultCellStyle.SelectionForeColor = Color.Yellow;//鼠标选定行的字体颜色
this.dgv_Main.DefaultCellStyle.SelectionBackColor = Color.Black;//鼠标选定行的背景色


this.dgv_Main.GridColor = Color.Black;//网格线颜色
this.dgv_Main.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;//边框3D样式
this.dgv_Main.CellBorderStyle = DataGridViewCellBorderStyle.None;//表格线设置为无
this.dgv_Main.RowHeadersBorderStyle = DataGridViewHeaderBorderStyle.Sunken;//左侧序号列设置
this.dgv_Main.ColumnHeadersBorderStyle = DataGridViewHeaderBorderStyle.Single;


//行标题设置
dgv_Main.ColumnHeadersDefaultCellStyle.Font = new Font("楷体", 15F);//字体
dgv_Main.ColumnHeadersDefaultCellStyle.BackColor = Color.Red;//背景色
dgv_Main.ColumnHeadersHeight = 30;//行标题高度

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐