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

2022-05-18 09:29
程序代码: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

2022-05-19 22:22
2022-05-20 19:23