我在msflexgrid1上做了个编辑文本框text1.现在的问题是如何编辑完text1后回车继续编辑下一行?

解决方案 »

  1.   

    TextBox1按下回车后,先改变当前单元格的值,然后控制flexgrid选中的单元格.好像是有个flexgrid有个selChange事件,这个事件在被选中单元格发生变化之后触发,所以你可以在这个事件中控制Text1的位置.
      

  2.   

    在文本框的KeyDown事件里处理:
    Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
        On Error Resume Next
        Select Case KeyCode
        Case 38  '向上箭
        Case 40 ' 向下箭
        Case 37 '37向左箭,
        Case 13, 39 '回车或向右键
          if MSFGrid.Col < MSFGrid.ColS - 1 Then '移到同一行的下一个单元格
             MSFGrid.Col = MSFGrid.Col + 1
             MSFGrid_EnterCell   '这个事件主要处理网格显示文本框
          ElseIf MSFGrid.Col = MSFGrid.ColS - 1 Then
             If MSFGrid.Row < MSFGrid.Rows - 1 Then
                MSFGrid.Row = MSFGrid.Row + 1
                MSFGrid.Col = 0
                MSFGrid_EnterCell
             ElseIf MSFGrid.Row = MSFGrid.Rows - 1 Then
                MSFGrid.Rows = MSFGrid.Rows + 1
                MSFGrid.Row = MSFGrid.Row + 1
                MSFGrid.Col = 0
                MSFGrid_EnterCell
             End If
          End If
          KeyCode = 0
        Case Else
        End Select '37向左箭,38向上箭,39向右箭,40向下箭
    End Sub
      

  3.   

    详见《为MSHFlexGrid增加表格编辑功能》http://blog.csdn.net/lyserver/archive/2009/05/15/4188280.aspx