在我的代码中,我需要将SelectionBackColor变为红色以通知用户某事。如果已经纠正,我希望再次将其设置回默认值(蓝色带白色文字)。我使用color.empty但这种接缝无法正常工作。它重置颜色但是未实现对SelectionBackColor的后续重复更改。
我用它来改变它Me.DataGridView1.DefaultCellStyle.SelectionBackColor = Color.Red
这将重置Me.DataGridView1.DefaultCellStyle.SelectionBackColor = Color.Empty
但正如我所说,随后尝试更改颜色失败,即使是在第一次工作的同一个单元格上完成。正如我上面所说的那样,好像我没有正确反感。或者这只能改变一次吗?不太可能
编辑: 我尝试将颜色更改为绿色而不是空,并且已经正常工作,多次将颜色从红色更改为绿色,如预期的那样。所以这绝对是color.empty(尝试将其重置为默认值)而不是其他任何地方的代码或逻辑的问题。 感谢您的任何想法
Edit2:有没有办法捕获默认样式然后再调用它?所以改为绿色我改为保存的默认样式?
答案 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)可能是"相同"颜色,切换它们有问题......?
欢呼: - )