我的DGV根据业务逻辑将行BackColors设置为各种颜色。当用户选择该行时,颜色将更改为所选行的BackColor,从而使预设颜色模糊。我想保留选中某行时的原始颜色,并用选中的行周围的粗体边框指示选择(也许)。这可能吗?有没有一种简单的选择我不见了?

编辑
为了明确起见,这是一个WinForms应用程序。

最佳答案

另一种可能性是将选择颜色设置为正常底色的较深阴影。这比必须重新实现选定行的边框绘制要简单得多。

因此,当您添加带有黄色背景的行时

Dim backColor as Color = Color.Yellow
row.DefaultCellStyle.BackColor = backColor
row.DefaultCellStyle.SelectionBackColor = Color.FromArgb(backColor.R * 3 / 4, backColor.G * 3 / 4, backColor.B * 3 / 4)


将每个颜色分量乘以相同的数字
10-02 10:28