在以下KeyDown事件中,为什么按上下左右按键无效!解决方案

在以下KeyDown事件中,为什么按上下左右按键无效!Private Sub MSFlexGrid1_KeyDown(KeyCode As Integer, Sh

在以下KeyDown事件中,为什么按上下左右按键无效!
Private Sub MSFlexGrid1_KeyDown(KeyCode As Integer, Shift As Integer)
msgbox "按下成功"
If KeyCode = vbKeyLeft Then '按左按健
If MSFlexGrid1.ColSel = 0 Then '如果到了第一列就不能再左移了
Exit Sub
End If
If MSFlexGrid1.ColSel = 2 Then '如果为第3列,直接移动到第1列
MSFlexGrid1.Cols = 0
End If
'其他情况直接向左移动一列
MSFlexGrid1.ColSel = MSFlexGrid1.ColSel - 1
Text3.Visible = True '设置输入的text
Text3.Left = MSFlexGrid1.Left + MSFlexGrid1.ColPos(MSFlexGrid1.Col) + 35
Text3.Top = MSFlexGrid1.Top + MSFlexGrid1.RowPos(MSFlexGrid1.Row) + 35
Text3.Width = MSFlexGrid1.ColWidth(MSFlexGrid1.Col)
Text3.Height = MSFlexGrid1.RowHeight(MSFlexGrid1.Row)
Text3.Text = MSFlexGrid1.Text '把当前选择单元格直给text3
Text3.SelStart = 0
Text3.SelLength = Len(Text3.Text)
End If
Text3.SetFocus
End Sub
以上代码请指点!

[解决办法]
按你要实现的功能,用MSHFlexGrid1_RowColChange事件比较好~~~

VB code
Private Sub MSHFlexGrid1_RowColChange()If MSFlexGrid1.ColSel = 0 Then '如果到了第一列就不能再左移了Exit SubEnd IfIf MSFlexGrid1.ColSel = 2 Then '如果为第3列,直接移动到第1列MSFlexGrid1.Cols = 0End If'其他情况直接向左移动一列MSFlexGrid1.ColSel = MSFlexGrid1.ColSel - 1Text3.Visible = True '设置输入的textText3.Left = MSFlexGrid1.Left + MSFlexGrid1.ColPos(MSFlexGrid1.Col) + 35Text3.Top = MSFlexGrid1.Top + MSFlexGrid1.RowPos(MSFlexGrid1.Row) + 35Text3.Width = MSFlexGrid1.ColWidth(MSFlexGrid1.Col)Text3.Height = MSFlexGrid1.RowHeight(MSFlexGrid1.Row)Text3.Text = MSFlexGrid1.Text '把当前选择单元格直给text3Text3.SelStart = 0Text3.SelLength = Len(Text3.Text)Text3.SetFocusEnd Sub