我正在嘗試使用VB.NET和Visual Studio 2017爲RichTextBox中的富文本添加標題。根據文檔,Richtextbox.rtf應該允許我獲取或設置包含控制代碼的富文本。但是,我無法將* .rtf設置爲包含富文本的字符串。我知道富文本是正確的,因爲如果我將它粘貼到* .rtf文件中,它會正確顯示。如何將Richtextbox.rtf設置爲富文本字符串?
測試代碼如下所示:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim hdr As String = "{\header This is a header}"
Dim s As String = RichTextBox1.Rtf
s = s.Insert(s.LastIndexOf("}"c) - 1, hdr)
MsgBox(s)
With RichTextBox1
RichTextBox1.Rtf = s
MsgBox(RichTextBox1.Rtf)
End With
End Sub
s的正確格式爲富文本,但RichTextBox1.Rtf是賦值後保持不變的字符串。我錯過了什麼?如果我不能通過這種方式分配RichTextBox1.Rtf,是否有其他選擇?
我從來沒有這樣做過,但如果我使用RTF格式字符串從下面的鏈接,它似乎工作:https://stackoverflow.com/questions/ 2601917/how-do-feed-an-rtf-string-to-a-richtextbox-control?rq = 1 – PerpetualStudent
謝謝@PerpetualStudent!在您發佈回覆後,我能夠讓自己工作。只要知道我可以將任何富文本分配給RTF屬性就是一條線索,它指向了正確的方向。 –
這是添加標題後的豐富文本。如果我將它粘貼到一個空的富文本文件中,這將顯示一個不錯的標題,但我無法將其分配給RTF屬性。鑑於我可以分配連接到示例@PerpetualStudent的字符串,我想必須有語法不兼容。 「{\ rtf1 \ ansi \ ansicpg1252 \ deff0 \ deflang1033 {\ fonttbl {\ f0 \ fnil \ fcharset0 Microsoft Sans Serif;}} \ viewkind4 \ uc1 \ pard \ f0 \ fs17 \ par {\ header這是一個標題} }「 –