MSFlexGrid控件按键盘上的上下键触发?解决方法

MSFlexGrid控件按键盘上的上下键触发?
我想实现在键盘上按“↓”或“↑”按钮触发MSFlexGrid控件的什么事件可以实现让改行改变背景颜色?
我想了下面的方法:
Private Sub MSFlexGrid1_Click()
MSFlexGrid1.Col = 0
MSFlexGrid1.ColSel = MSFlexGrid1.Cols - 1
End Sub
鼠标单击哪一行,该行就改变颜色了。已经达到目的。但还是觉的没有按向下或向上箭头来得方便。
但把上面的代码放在:Private Sub MSFlexGrid1_KeyDown事件里就不起作用:
Private Sub MSFlexGrid1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyUp Or KeyCode = vbKeyDown Then
MSFlexGrid1_Click
end if
按上下键没有不能使其背景颜色改变。
应为MSFlexGrid控件中的数据是通过text1的change事件中调用的存储过程填充的,所有用MSFlexGrid的EnterCell()或LeaveCell()等事件,一改变text1.text中的数据整个程序就不响应了,
MSFlexGrid中的数据一直闪。
大家帮帮忙,谢谢!

------解决方案--------------------
使用EnterCell和LeaveCell来改变背景色,如果使用不当会导致程序陷入死循环。
------解决方案--------------------
原因是MSFlexGrid1_KeyDown不响应光标键的动作。

------解决方案--------------------
用textbox控件实现msflexgrid的可编辑是个常规做法
可以做到很完美的,前提是不怕麻烦,细心琢磨
各种事件交叉处理很繁杂