Ton*_*son 19 datagridview visual-studio-2008 visual-studio winforms
我试图在Visual Studio 2008中使我的DataGridView的列标题变粗.
每次我将ColumnHeadersDefaultCellStyle更改为Calibri 9.75pt粗体时,使用属性框,下次重新打开保存的表单时,ColumnHeadersDefaultCellStyle已恢复为Calibri 9.75而不加粗体.
我的表单的字体是Calibri 9.75,没有粗体,我的默认单元格样式,但我应该能够使用我的ColumnHeader样式覆盖默认单元格样式吗?
我可以通过在显示表单时设置样式来以编程方式解决此问题,但我们希望Visual Studio设计器显示粗体标题,因此我们可以针对由粗体标题文本占用的空间适当地布置列.
此外,实际的设计器文件指定ColumnHeadersDefaultCellStyle是粗体,即使设计器界面说它不是粗体.
dataGridViewCellStyle1.Font = new System.Drawing.Font("Calibri", 9.75F,
System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
dataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.WindowText;
dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.receiptDetailView.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle1;
Run Code Online (Sandbox Code Playgroud)
小智 20
这是一个错误,虽然微软可能会尝试将其称为功能.仅当EnableHeadersVisualStyles设置为TRUE时,DataGridView标头单元才应继承当前主题,如果为false,则使用ColumnHeaderDefaultCellStyles中的设置.但DGV忽略EnableHeadersVisualStyles并始终继承它所驻留的父容器的字体.
rutlean和Nico Engler的建议都有效.以下是我一直做的标准做法:将DGV放在一个面板中(根据您的应用程序,您可能需要设置Dock属性来填充.然后将Panel的字体设置为您想要的设置.您的DGV现在将始终继承那个设定.