数据网格视图覆盖绘制以设置字体



我试图以编程方式更改DataGridViews"单元格标题"字体样式Col 标题必须是大写的,我想分配一种新字体。如果有人以前这样做过,我将感谢您在这里的指导。

更新

实际上字体更改工作正常,这只是我需要帮助headerText.ToUpper()

private void dataGridView1_Painting(object sender, DataGridViewCellPaintingEventArgs e)
{
            //Something like this.
           foreach(DataGridViewColumnCollection c in grd.Columns) {
               c.ColHeading.Text = c.ColHeading.Text.ToUpper(); 
           }
            //or
            //header row only
            if (e.RowIndex == -1)
            { 
                e.CellStyle.Font = new Font("Verdana", 11.0f);
                e.CellStyle.ForeColor = Color.Gray;
                e.Value = e.Value.ToUpper(); //fails as its a read only object
            }
}

不熟悉此控件,但浏览其他事件。 可能没有足够早地进行此更改,并且通过"更早"的事件有更好的运气。

行或列本身上可能存在一些事件,您应该连接到这些事件来完成此操作。

IEnumerable的解决方案根据评论:

dataGridView1_ColumnAdded(object sender, DataGridViewColumnEventArgs e) { e.Column.HeaderText = e.Column.HeaderText.ToUpper(); }

最新更新