我知道如何更改列标题文本字体。很简单。
foreach (DataGridViewColumn col in dgKisiFatura.Columns)
{
col.HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
}
我想更改标题文本的部分字体。像“三月销售($)”一样,我只想将“($)”部分设为红色和粗体。有什么办法吗?
答案 0 :(得分:1)
我认为您必须自己绘制。
类似这样的东西:
private void dgv_CellPainting(object sender, DataGridViewCellPaintingEventArgs e) {
if (e.RowIndex == -1 && dgv.Columns[e.ColumnIndex].HeaderText == "March Sale ($)") {
//draw non-content portion
e.Paint(e.CellBounds, e.PaintParts ^ DataGridViewPaintParts.ContentForeground);
//get size of text to write
SizeF firstTextSize = e.Graphics.MeasureString("March Sale ", e.CellStyle.Font);
SizeF secondTextSize = e.Graphics.MeasureString("($)", new Font(e.CellStyle.Font, FontStyle.Bold));
Point p = e.CellBounds.Location;
//center text
p.Offset((int)((e.CellBounds.Width-firstTextSize.Width-secondTextSize.Width)/2), (int)((e.CellBounds.Height-firstTextSize.Height)/2));
e.Graphics.DrawString("March Sale ", e.CellStyle.Font, new SolidBrush(Color.Black), p);
p.Offset((int)firstTextSize.Width,0);
e.Graphics.DrawString("($)", new Font(e.CellStyle.Font, FontStyle.Bold), new SolidBrush(Color.Red), p);
e.Handled = true;
}
}
答案 1 :(得分:0)
您不能使用2种不同的字体设置相同的标题-但是您可以做的是在列上绑定2个标签的堆栈