vb 如何实现让text1的内容自动换行,并在text2显示
展开全部
首先:
1,文本框默认只能显示单行文字,若要显示多行文字,那么:
设置文本框的MultiLine 属性为 True
还可以设置文本框的ScrollBars 属性为 1 - VbHorizontal,等显示滚动条。
2,你要对Text1的单行文字,进行截断,那么,总归要告诉计算机,截断的依据?你举的例子是一个特殊例子:hello你好啊,截断成
hello
你好啊
并没有告诉我们规律什么的,我最多可以理解为当英文与中文的结合处截断。
所以,没有规则可言,是编不出代码来的。
其实,我想问?为什么
text1是 hello你好啊
text2就是
hello
你好啊
而不是
hello你
好啊
1,文本框默认只能显示单行文字,若要显示多行文字,那么:
设置文本框的MultiLine 属性为 True
还可以设置文本框的ScrollBars 属性为 1 - VbHorizontal,等显示滚动条。
2,你要对Text1的单行文字,进行截断,那么,总归要告诉计算机,截断的依据?你举的例子是一个特殊例子:hello你好啊,截断成
hello
你好啊
并没有告诉我们规律什么的,我最多可以理解为当英文与中文的结合处截断。
所以,没有规则可言,是编不出代码来的。
其实,我想问?为什么
text1是 hello你好啊
text2就是
hello
你好啊
而不是
hello你
好啊
展开全部
看来你是要这个功能的代码了
设置文本框的MultiLine 属性为 True
设置文本框的ScrollBars 属性为2-vertical。
Private Sub Text1_Change()
Text2.Text = TextSplit(Text1.Text)
End Sub
Function TextSplit(Str As String) As String
Dim i As Integer, a As String, isc As Boolean, tc As Boolean
For i = 1 To Len(Str)
a = Mid(Str, i, 1)
isc = (AscW(a) And &HFF00) <> 0
If Len(TextSplit) = 0 Then tc = isc
TextSplit = TextSplit & IIf(tc = isc, a, vbCrLf & a)
If tc Xor isc Then tc = Not tc
Next
End Function
设置文本框的MultiLine 属性为 True
设置文本框的ScrollBars 属性为2-vertical。
Private Sub Text1_Change()
Text2.Text = TextSplit(Text1.Text)
End Sub
Function TextSplit(Str As String) As String
Dim i As Integer, a As String, isc As Boolean, tc As Boolean
For i = 1 To Len(Str)
a = Mid(Str, i, 1)
isc = (AscW(a) And &HFF00) <> 0
If Len(TextSplit) = 0 Then tc = isc
TextSplit = TextSplit & IIf(tc = isc, a, vbCrLf & a)
If tc Xor isc Then tc = Not tc
Next
End Function
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
截取的条件?给你个提示,自己再动动脑子。
do
T = Mid(TTT, n, 1) '从第m截取n个
L = Asc(T)
If L < 0 And L > 127 Then '"该字符为汉字"
loop
t = Mid(TTT, n, m) '从第m截取n个
do
T = Mid(TTT, n, 1) '从第m截取n个
L = Asc(T)
If L < 0 And L > 127 Then '"该字符为汉字"
loop
t = Mid(TTT, n, m) '从第m截取n个
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
text2 = hello & vbcrlf & " 你好啊"
追问
这哪里是自动,你这个纯粹是写上去的,你这个hello哪里来的?你这个“你好啊”哪里来的,我要从text1里截取这2个词然后换行
追答
Private Sub Command1_Click()
Dim s$, s1$
For i = 1 To Len(Text1.Text)
If Asc(Mid(Text1.Text, i, 1)) > 0 Then
s = s + Mid(Text1.Text, i, 1)
Else
s1 = s1 + Mid(Text1.Text, i, 1)
End If
Next i
Text2.Text = s & vbCrLf & s1
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询