我正在尝试使用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这是一个标题} }“ –