有三个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
2.移到下一个Textbox的时候,自动选中内容
这个代码可以实现移动
Private Sub Text1_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)
If KeyCode = 40 Then SendKeys "{Tab}"End Sub
Text2.SelLength = Len(Text2.Text)
textbox2.SetFocus
textbox2.selStart = 0
textbox2.SelLength = Len(textbox2.Text)
end sub
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
Text1(Index).SelStart = 0
Text1(Index).SelLength = Len(Text1(Index))
End Sub
if index+1<=text1.ubound then '需要判断一下,不然可能下标越界
text1(index+1).selstart = 0
text1(index+1).sellength = len(text1(index+1).text)
endif
Text1(Index).SelStart = 0
Text1(Index).SelLength = Len(Text1(Index))
End Sub
原理上是可以移动,和自动选中的
但放到MSFlexGrid1就不行了。