Private Sub Label1_DblClick(Index As Integer) Dim i As Long '该变量用于保存光标位置
If Not TextFocus Is Nothing Then '如果未选择 textbox 那么对象为了nothing ,跳转操作。防止出错 With TextFocus '对该对象操作 i = .SelStart '取光标位置 If i < Len(.Text) Then '如果光标不在最后位置 .Text = Left(.Text, i) & Label1(Index).Caption & Mid(.Text, i + 1) '把原内容截成二段,把新内容拼进去 Else .Text = .Text & Label1(Index).Caption '否则直接拼到最后 End If .SelStart = i + Len(Label1(Index).Caption) '重定位光标位置=原位置+插入的长度 End With End If End Sub
Private Sub Text1_Click(Index As Integer) '保存最后活动的文本框 Set TextFocus = Text1(Index) '此处保存的文本框不限于数组,只要让 textfocus 等于活动的文本框就行 '如程序中有20个文本框,并且是20个不同的名字,但只有前15个需要这个功能, '那需要在使用这个功能的15文本框中写类似本行代码 End Sub