重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
错了,是vbCrLf Chr(13) + Chr(10)
成都创新互联专注于福清企业网站建设,成都响应式网站建设公司,商城网站建设。福清网站建设公司,为福清等地区提供建站服务。全流程按需策划,专业设计,全程项目跟踪,成都创新互联专业和态度为您提供的服务
共两个字符。
#10是换行符
#13是回车符
有了回车符,代表了一行的结束,也方便于读取文本。
不要只打一个,vbCrLf简单方便,也是一个良好的习惯。
也不是不可以实现,只不过复杂一点而已,具体看下面代码。不过在需要换行等情况下的文本显示,还是建议用RichTextBox开启只读属性比较省心、比较合适。
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
首先你的textbox有一个属性得设置成多行、支持回车符才行
其次,换行符我记得直接用\n就行
n个空格你就写个循环用,每次循环就加上" "就行。
如果要自动换行,设置label的宽度固定即可。如果手动换行,可以这样:Label1.Caption = "这是标签" vbCrlf "内容换行"