在要換行的地方斷開字符串,用 Environment.NewLine 連接兩個字符串即可。
10年積累的做網(wǎng)站、成都網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先做網(wǎng)站后付款的網(wǎng)站建設(shè)流程,更有梁平免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
也不是不可以實(shí)現(xiàn),只不過復(fù)雜一點(diǎn)而已,具體看下面代碼。不過在需要換行等情況下的文本顯示,還是建議用RichTextBox開啟只讀屬性比較省心、比較合適。
Private?Sub?AutoNextRow()
'獲取ListBox行集合文本
Dim?length?As?Integer?=?(ListBox1.Items.Count?-?1)
Dim?items(length)?As?String?'行文本數(shù)組
For?i?As?Integer?=?0?To?length
items(i)?=?ListBox1.Items(i).ToString
Next
'處理ListBox換行
ListBox1.Items.Clear()?'清空行內(nèi)容
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)?'填充行內(nèi)容
End?Using
End?Sub
以下示例用指定的打印機(jī)打印文檔。該示例有三個假定:已經(jīng)將名為 filePath 的變量設(shè)置為要打印的文件的路徑;已經(jīng)定義名為 pd_PrintPage 的方法(該方法處理 PrintPage 事件);已經(jīng)將名為 printer 的變量設(shè)置為打印機(jī)的名稱。
[Visual Basic, C#] 在此示例中使用 System.Drawing、System.Drawing.Printing 和 System.IO 命名空間。
Public Sub Printing(printer As String)
Try
streamToPrint = New StreamReader(filePath)
Try
printFont = New Font(
錯了,是vbCrLf Chr(13) + Chr(10)
共兩個字符。
#10是換行符
#13是回車符
有了回車符,代表了一行的結(jié)束,也方便于讀取文本。
不要只打一個,vbCrLf簡單方便,也是一個良好的習(xí)慣。
在vb里面,當(dāng)一行的代碼過長時可以將該語句折斷,規(guī)則是,空格+下劃線
例如,aaaabbbb
要在ab中間折斷,
aaaa
_'空格然然加下劃線,再換行,也就是按enter
bbbb
要是想讓自己寫的文字顯示換行,可以在文件中間加ch(13),可實(shí)現(xiàn)此功能。
沒有這功能。
1、手動截取字符串為一行長度,循環(huán)打印。
2、新一個窗體,設(shè)置為無邊框窗體,在上面加無邊框文本框,
然后Form2.PrintForm