3个回答
展开全部
可以自己写一个函数:
Private Sub markLine(txt As TextBox)
Dim i As Integer '当前位置
Dim s As Integer '行起始位置
Dim e As Integer '行结束位置
'从光标所在位置出发寻找该行起始位置
i = txt.SelStart
Do While i > 0
If Asc(Mid(txt.Text, i, 1)) = 10 Then Exit Do
i = i - 1
Loop
s = i
'从光标所在位置出发寻找该行结束位置
If txt.SelStart = Len(txt.Text) Then
e = txt.SelStart
Else
i = txt.SelStart + 1
Do While i < Len(txt.Text)
If Asc(Mid(txt.Text, i, 1)) = 10 Then Exit Do
i = i + 1
Loop
e = i
End If
'设定该行起止部分为选中状态
txt.SelStart = s
txt.SelLength = e - s
End Sub
然后在你需要的地方调用。比如:
Private Sub Text1_Click()
markLine Text1
End Sub
Private Sub markLine(txt As TextBox)
Dim i As Integer '当前位置
Dim s As Integer '行起始位置
Dim e As Integer '行结束位置
'从光标所在位置出发寻找该行起始位置
i = txt.SelStart
Do While i > 0
If Asc(Mid(txt.Text, i, 1)) = 10 Then Exit Do
i = i - 1
Loop
s = i
'从光标所在位置出发寻找该行结束位置
If txt.SelStart = Len(txt.Text) Then
e = txt.SelStart
Else
i = txt.SelStart + 1
Do While i < Len(txt.Text)
If Asc(Mid(txt.Text, i, 1)) = 10 Then Exit Do
i = i + 1
Loop
e = i
End If
'设定该行起止部分为选中状态
txt.SelStart = s
txt.SelLength = e - s
End Sub
然后在你需要的地方调用。比如:
Private Sub Text1_Click()
markLine Text1
End Sub
参考资料: 原创
展开全部
不知道……
text1.setfocus
之后按home→shift+end就好了
text1.setfocus
之后按home→shift+end就好了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不是有一个SELLENGTH的方法么?就是点上去之后选取的文本长度,调成你的长度就可以了
然后你利用SETFOCUS来做(可以省略)
然后你利用SETFOCUS来做(可以省略)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询