首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

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

2012-01-12 
MSFlexGrid控件按键盘上的上下键触发?我想实现在键盘上按“↓”或“↑”按钮触发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的可编辑是个常规做法
可以做到很完美的,前提是不怕麻烦,细心琢磨
各种事件交叉处理很繁杂

热点排行