vb中mshflexgrid点击行变色

初始的时候,表格式隔行颜色交替显示的,现在我想实现的功能是 点击某一行,该行的颜色变成红色,并且之前是红色的哪一行,恢复到原来的颜色
这个功能该怎么实现
一个简单的例子就是,迅雷的下载表格里面,你点击某一行就会变色,点击另一行,之前的一行恢复颜色,新的一行变成点击颜色

以下代码可实现你的要求:

Private Sub Form_Load()
MSHFlexGrid1.SelectionMode = flexSelectionByRow
MSHFlexGrid1.FocusRect = flexFocusNone
MSHFlexGrid1.BackColorSel = vbRed
End Sub
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-07-25
我不大清楚你在说什么,根据你的话的理解 ,好像是要实现鼠标移到某一个控件上,FroeColor 的 颜色发生变化,我一般是这样做的,用2个Mouse_Move事件
如实现鼠标放到label上,Forecolor 的颜色变成红色,移开又变成黑色,代码如下:
Private Sub label1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Label1.ForeColor=RGB(255,0,0)
end sub
Private Sub form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Label1.ForeColor=RGB(0,0,0)
end sub
思路就是这样,如果要用到单击事件,再给label添加个单击事件就行了
特别说明下,我不记得颜色的16进制表示法,我一般情况下就是从属性设置里复制过来,这里就用RGB糊弄下,希望你不要怪罪本回答被提问者采纳
第2个回答  2009-12-19
BackColorSel属性
相似回答