重置Datagridview SelectionBackColor

时间:2016-02-19 07:57:51

标签: vb.net datagridview

在我的代码中,我需要将SelectionBackColor变为红色以通知用户某事。如果已经纠正,我希望再次将其设置回默认值(蓝色带白色文字)。我使用color.empty但这种接缝无法正常工作。它重置颜色但是未实现对SelectionBackColor的后续重复更改。

我用它来改变它Me.DataGridView1.DefaultCellStyle.SelectionBackColor = Color.Red

这将重置Me.DataGridView1.DefaultCellStyle.SelectionBackColor = Color.Empty

但正如我所说,随后尝试更改颜色失败,即使是在第一次工作的同一个单元格上完成。正如我上面所说的那样,好像我没有正确反感。或者这只能改变一次吗?不太可能

编辑: 我尝试将颜色更改为绿色而不是空,并且已经正常工作,多次将颜色从红色更改为绿色,如预期的那样。所以这绝对是color.empty(尝试将其重置为默认值)而不是其他任何地方的代码或逻辑的问题。 感谢您的任何想法

Edit2:有没有办法捕获默认样式然后再调用它?所以改为绿色我改为保存的默认样式?

2 个答案:

答案 0 :(得分:0)

我通过试验和错误找到的重置SelectionBackColor的答案是首先捕获它然后在重置时使用它。

Dim GridBackcolor As Object
  GridBackcolor = Me.DataGridView1.DefaultCellStyle.SelectionBackColor
'set another color
 Me.DataGridView1.DefaultCellStyle.SelectionBackColor = Color.Red
'reset
  Me.DataGridView1.DefaultCellStyle.SelectionBackColor = GridBackcolor

以防万一。

答案 1 :(得分:0)

对我来说,解决方案是设置:

.DefaultCellStyle.SelectionBackColor

.DefaultCellStyle.SelectionForeColor

切换到自定义颜色并返回工作状态.... 但 2.开关剂量改变了选择颜色。也不是背景和前景......

也许是datagridview"想想"其中之一(selectionforecolor,selectionbackcolor,background,forecolor)可能是"相同"颜色,切换它们有问题......?

欢呼: - )