也不是不可以实现,只不过复杂一点而已,具体看下面代码。不过在需要换行等情况下的文本显示,还是建议用RichTextBox开启只读属性比较省心、比较合适。
成都创新互联公司-专业网站定制、快速模板网站建设、高性价比宜良网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式宜良网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖宜良地区。费用合理售后完善,十载实体公司更值得信赖。
Private Sub AutoNextRow()
'获取ListBox行集合文本
Dim length As Integer = (ListBox1.Items.Count - 1)
Dim items(length) As String '行文本数组
For i As Integer = 0 To length
items(i) = ListBox1.Items(i).ToString
Next
'处理ListBox换行
ListBox1.Items.Clear() '清空行内容
Using g As Graphics = Graphics.FromHwnd(ListBox1.Handle)
Dim result As New List(Of Object)
Dim w As Single = ListBox1.ClientSize.Width
Dim sf As SizeF, str As StringBuilder
For Each s As String In items
str = New StringBuilder
For i As Integer = 0 To (s.Length - 1)
sf = g.MeasureString(str.ToString s(i), ListBox1.Font)
If sf.Width w Then
result.Add(str.ToString)
str = New StringBuilder
End If
str.Append(s(i))
If i = s.Length - 1 Then result.Add(str.ToString)
Next
Next
ListBox1.Items.AddRange(result.ToArray) '填充行内容
End Using
End Sub
假设你要分割的字符串是string1的话
分割代码就是:
dim s as string=strings.split(string1,vbcrlf)
这样s就是一个阵列了。s(0)是第一段内容,s(1)是第二段内容,以此类推。~~
googles8 的写法也对的。不过我的代码省去了声明的一行。只用一行就好了。
在要换行的地方断开字符串,用 Environment.NewLine 连接两个字符串即可。
在vb里面,当一行的代码过长时可以将该语句折断,规则是,空格+下划线
例如,aaaabbbb
要在ab中间折断,
aaaa
_'空格然然加下划线,再换行,也就是按enter
bbbb
要是想让自己写的文字显示换行,可以在文件中间加ch(13),可实现此功能。