在DataGridViewCell中为某些文本设置背景颜色

时间:2012-07-10 09:03:01

标签: .net winforms forms datagridview

我知道一种在DataGridView中更改单元格背景颜色的方法:

DataGridView1.CurrentCell.Style.BackColor = Color

但是,我只需要更改文本的一部分背景颜色。

例如,如果我在一个单元格中有“Harry meet Sally”,我想在粉红色背景中设置“Harry”,在绿色背景中设置“Sally”。

有谁知道这样做的好方法? 任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

这不能用标准工具完成。您必须覆盖从DataGridViewImageCell继承的自定义类的paint事件。此答案的一部分提供了如何执行此操作的示例https://stackoverflow.com/a/10100992/626442,其中显示了如何在DataGridViewCell内创建进度条。使用这个答案,将它扩展到你需要的东西不应该太多任务。

我希望这会有所帮助。

答案 1 :(得分:0)

        if (dataGridView1.Rows[0].Cells[0].Value.ToString().Contains("Harry") == true)
        {
            dataGridView1.Rows[0].Cells[0].Style.BackColor = Color.Pink;
        }
        else if(dataGridView1.Rows[0].Cells[0].Value.ToString().Contains("Sally") == true)
        {
            dataGridView1.Rows[0].Cells[0].Style.BackColor = Color.Green;
        }