如何点击Label,然后在指定的TEXT中输出?
在界面上做10个Label,每个Label中有不同的内容。再做15个Text,我任意选中某个Text,出现待输入的竖线后,双击任意某一Label,选中的Text中写入该Label内容,待输入的竖线在最后。请问这种要求怎么写呢?
[此贴子已经被作者于2022-5-17 08:24编辑过]
Private Sub Form_Activate() Text1.SetFocus '将焦点赋予文本1 Text1.SelStart = Len(Text1.Text) '光标的位置 = 文本1的字数 End Sub
Option Explicit Dim TextFocus As TextBox 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