【问题标题】:Set background color for some text in DataGridViewCell为 DataGridViewCell 中的某些文本设置背景颜色
【发布时间】:2012-07-09 17:33:49
【问题描述】:

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

DataGridView1.CurrentCell.Style.BackColor = Color

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

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

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

【问题讨论】:

    标签: .net winforms forms datagridview


    【解决方案1】:

    使用可用的标准工具无法做到这一点。您将不得不重写从DataGridViewImageCell 继承的自定义类的绘制事件。作为此答案https://stackoverflow.com/a/10100992/626442 的一部分提供了如何执行此操作的示例,该示例显示了如何在DataGridViewCell 中创建进度条。使用此答案,将其扩展到您需要的内容应该不会太繁重。

    我希望这会有所帮助。

    【讨论】:

      【解决方案2】:
              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;
              }
      

      【讨论】:

      • 错误,没有。不是我问的。而且您可能想避免采用“if (condition == true)”的方式。
      猜你喜欢
      • 1970-01-01
      • 2013-07-29
      • 1970-01-01
      • 1970-01-01
      • 2022-01-22
      • 1970-01-01
      • 2011-02-14
      • 1970-01-01
      • 2014-06-20
      相关资源
      最近更新 更多