2013-03-13 35 views
0

我需要做的MyFlexGrid_DblClick()东西,但只有在背部颜色不设置为vbInactiveBorder,我尝试了如下因素代码,但没有更迭检查所选单元格的背景颜色在FlexGrid的

Private Sub MyFlexGrid_DblClick() 

    If Not MyFlexGrid.BackColor = vbInactiveBorder Then 
     _what I need to do_ 
    End If 

End Sub 

在调试内部“”我需要做的“完美地工作,但If中的检查总是如此,即使我之前双击的单元格的背景颜色先前设置为vbInactiveBorder

+0

你是否试过检查单元的背景颜色而不是整个网格的?你在做什么来设置单元格的背景颜色? – Deanna 2013-03-13 14:40:59

+0

你确定'.BackColor'是单元格的背景色吗?这是['.CellBackColor'](http://msdn.microsoft.com/zh-cn/library/default.aspx)[默认背景色](http://msdn.microsoft.com/zh-cn/library/aa228900(v = vs.60).aspx)。 microsoft.com/en-us/library/aa239821(v=vs.60).aspx)是单元格的背景色。 “BackColor影响所有非固定单元格的颜色,要设置单个单元格的背景颜色,请使用CellBackColor属性。” – Deanna 2013-03-13 14:56:17

+0

是的,它的.cellbackcolor现在完美了!非常感谢@Deanna – 2013-03-13 14:59:05

回答

2

您正在检查错误的属性。

.BackColor指的是单元的默认背景颜色。 尝试检查.CellBackColor以获取当前单元格的背景颜色。

从MSDN:

背景色影响所有非固定的细胞的颜色。要设置单个单元格的背景颜色,请使用CellBackColor属性。

相关问题