首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >动态设置DatagridView单元格的字体

动态设置DatagridView单元格的字体
EN

Stack Overflow用户
提问于 2011-12-01 17:40:53
回答 5查看 11.8K关注 0票数 2

在我winform中,我使用DataGgridView在某些情况下,我想为某些列设置特殊的字体,我使用以下代码来实现

代码语言:javascript
运行
复制
this.grvInvoice.Columns["mat_Name"].DefaultCellStyle.Font = new Font("Verdana", 14);

但是我只想给一些单元格设置特定的字体和大小。我尝试使用以下代码

代码语言:javascript
运行
复制
grvRequest.Rows[i].Cells["item"].Style.Font = new Font("Verdana", 14);

但是它不起作用。是否可以set specific font and size dynamically to a cell of DataGridView

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-12-01 20:00:30

您可以使用以下代码为每个单元格设置单独的样式:

代码语言:javascript
运行
复制
DataGridViewCell cell=null;
// Get a cell you need here
cell.Style = new DataGridViewCellStyle()
{
        BackColor = Color.White,
        Font = new Font("Tahoma", 8F),
        ForeColor = SystemColors.WindowText,
        SelectionBackColor = Color.Red,
        SelectionForeColor = SystemColors.HighlightText
};

但是,如果您看不到任何结果,这可能意味着您已经在父级别上设置了某个样式,并且该样式覆盖了您的样式。

有关更多信息,请查看本文的段落样式继承Cell Styles in the Windows Forms DataGridView Control

票数 5
EN

Stack Overflow用户

发布于 2011-12-23 15:13:57

也许,这不是它看起来的样子。我也有过类似的经历。我创造了一种风格

代码语言:javascript
运行
复制
private System.Windows.Forms.DataGridViewCellStyle styleRed = new System.Windows.Forms.DataGridViewCellStyle();

,然后将此样式应用于行中的每个单元格。

代码语言:javascript
运行
复制
dgvOnForm.Rows[iRow].Cells[i].Style = styleRed;

然后我想给一个单元格加下划线,而不是其他单元格。所有单元格都加了下划线。这并不是由于继承,而是由于面向对象编程的一个有时被忽视的基本基础。dgvOnForm.Rows[iRow].Cells[i].Style实际上是对styleRed的引用,所有单元格都共享相同的引用。改变它们中的任何一个都会改变它们。我真不敢相信我找了这么久才明白。修复方法是为每个单元格创建一个“新”样式,这样它们就不会共享相同的引用。

票数 3
EN

Stack Overflow用户

发布于 2011-12-01 17:45:20

请尝试使用以下代码:

代码语言:javascript
运行
复制
grvRequest.Rows[i].Cells[0].Style.Add("font-family","Verdana");
grvRequest.Rows[i].Cells[0].Style.Add("font-size", "14");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8339186

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档