【发布时间】:2017-07-20 07:36:56
【问题描述】:
所以我正在尝试为 Outlook 编写一个简单的插件,它将读取电子邮件标题。获取电子邮件的标题很简单,我用 RichTextBox 制作了一个 Windows 窗体以显示标题(目前我只是将完整的原始标题推入,将来我想格式化它们并制作它们更容易阅读,突出显示更重要的部分等,因此是 RichTextBox)。
我遇到的问题是,一旦我设置了 textbox.Rtf,它就会丢失标题中的自然新行,这使它们变得一团糟。如果我使用 textbox.Text,它们有换行符,因此它们更易于阅读。
我尝试了一些不同的方法来尝试强制显示新行(例如,通过使用 \line 和 \par),但是一旦我使用 .Rtf,它似乎永远不会出现。
Public Class showHeaders
Public Shared Sub MyMsg(msg As String)
Dim MsgUserForm1 As New MsgUserForm
With MsgUserForm1
MsgUserForm1.Text = "Email headers:"
.RichTextBox1.Text = msg
.RichTextBox1.Rtf = .RichTextBox1.Text
.Show()
Dim sSaveFolder As String = "C:\headers\"
.RichTextBox1.SaveFile(sSaveFolder & "Headers.txt")
End With
End Sub
Private Shared Function parseHeaders(inputHeader As String) As String
inputHeader = inputHeader.Replace("\r\n", "\line")
inputHeader = inputHeader.Replace("\n", "\line")
inputHeader = inputHeader.Replace("Received:", "\b Received:\b0")
inputHeader = "{\rtf1\ansi " + inputHeader + "}"
Return inputHeader
End Function
End Class
欢迎任何帮助,因为我不明白为什么 RichTextBox 会这样。
【问题讨论】:
-
你能分享一下它如何显示文本的例子吗?
标签: vb.net visual-studio richtextbox email-headers