有三个Textbox1.如何按向下键的时候,移动鼠标焦点到下一个Textbox上
2.移到下一个Textbox的时候,自动选中内容
这个代码可以实现移动
Private Sub Text1_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)
    If KeyCode = 40 Then SendKeys "{Tab}"End Sub

解决方案 »

  1.   

        Text2.SelStart = 0
        Text2.SelLength = Len(Text2.Text)
      

  2.   

    private sub textbox2_gotfocus()
        textbox2.SetFocus
        textbox2.selStart = 0
        textbox2.SelLength = Len(textbox2.Text)
    end sub
      

  3.   

    可以只用一个TextBox 编辑MSFlexGrid的内容,代码奉上:
    Private Sub Form_Activate()
        Text1.SetFocus
    End SubPrivate Sub Form_Load()
        MSFlexGrid1.Cols = 10
        MSFlexGrid1.Rows = 10
        MSFlexGrid1.TabStop = False
        Text1.TabStop = False
        Text1.Text = MSFlexGrid1.Text
        Text1.Move MSFlexGrid1.Left + MSFlexGrid1.CellLeft, MSFlexGrid1.Top + MSFlexGrid1.CellTop, MSFlexGrid1.CellWidth, MSFlexGrid1.CellHeight
    End SubPrivate Sub MSFlexGrid1_Click()
        Text1.Move MSFlexGrid1.Left + MSFlexGrid1.CellLeft, MSFlexGrid1.Top + MSFlexGrid1.CellTop, MSFlexGrid1.CellWidth, MSFlexGrid1.CellHeight
        Text1.Text = MSFlexGrid1.Text
        Text1.SelStart = 0
        Text1.SelLength = Len(MSFlexGrid1.Text)
        Text1.SetFocus
    End SubPrivate Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
        MSFlexGrid1.Text = Text1.Text
        If KeyCode = 38 Then
            If MSFlexGrid1.Row = 1 Then Exit Sub
            MSFlexGrid1.Row = MSFlexGrid1.Row - 1
            Call MSFlexGrid1_Click
        End If
        If KeyCode = 40 Then
            If MSFlexGrid1.Row = MSFlexGrid1.Rows - 1 Then Exit Sub
            MSFlexGrid1.Row = MSFlexGrid1.Row + 1
            Call MSFlexGrid1_Click
        End If
    End SubPrivate Sub Text1_KeyPress(KeyAscii As Integer)
        If KeyAscii = 9 Or KeyAscii = 13 Then
            MSFlexGrid1.Text = Text1.Text
            KeyAscii = 0
            If MSFlexGrid1.Row = MSFlexGrid1.Rows - 1 And MSFlexGrid1.Col = MSFlexGrid1.Cols - 1 Then
                MSFlexGrid1.Col = 1
                MSFlexGrid1.Row = 1
                Call MSFlexGrid1_Click
                Exit Sub
            End If
            If MSFlexGrid1.Col <> MSFlexGrid1.Cols - 1 Then
                MSFlexGrid1.Col = MSFlexGrid1.Col + 1
                Call MSFlexGrid1_Click
            Else
                MSFlexGrid1.Col = 1
                MSFlexGrid1.Row = MSFlexGrid1.Row + 1
                Call MSFlexGrid1_Click
            End If
        End If
    End Sub
      

  4.   

    Private Sub Text1_GotFocus(Index As Integer)
          Text1(Index).SelStart = 0
          Text1(Index).SelLength = Len(Text1(Index))
    End Sub
      

  5.   

    就在你那个代码下面写:
    if index+1<=text1.ubound then '需要判断一下,不然可能下标越界
    text1(index+1).selstart = 0
    text1(index+1).sellength = len(text1(index+1).text)
    endif
      

  6.   

    Private Sub Text1_GotFocus(Index As Integer)
      Text1(Index).SelStart = 0
      Text1(Index).SelLength = Len(Text1(Index))
    End Sub
      

  7.   

    你要的应该是这个: http://download.csdn.net/source/369462
      

  8.   


    原理上是可以移动,和自动选中的
    但放到MSFlexGrid1就不行了。