如何在表单关闭时保存富文本框的内容?
How can I save the content of a rich text box even when the form closes?
第一次post写到这里,写错了请不要批评我^^
无论如何,我最近 运行 遇到了 Visual Basic .NET 和 WinForms 中的富文本框问题。
假设我有一个主窗体和一个日志窗体。日志表单包含一个用作日志的富文本框。在主窗体中,我正在向日志中写入文本,并且我还设置了行的格式,因此它们具有不同的颜色(蓝色表示信息,红色表示错误)。
不幸的是,每当我关闭并重新打开日志表单时,所有已写入其中的文本都会丢失。
我试过将它保存到文本文件中,但这并没有保存文本的颜色。
有什么方法可以在表单关闭时保存文本和线条的颜色?
Shrotter 的优秀建议可能如下所示:
Public Class Form1
Private RtfPath As String
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim folder As String = System.IO.Path.GetDirectoryName(Application.ExecutablePath)
RtfPath = System.IO.Path.Combine(folder, "RtbData.rtf")
If System.IO.File.Exists(RtfPath) Then
RichTextBox1.LoadFile(RtfPath)
End If
End Sub
Private Sub Form1_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
RichTextBox1.SaveFile(RtfPath)
End Sub
End Class
当然,您应该始终将文件的 loading/saving 包裹在 Try/Catch 块中,以防出现任何问题。
第一次post写到这里,写错了请不要批评我^^
无论如何,我最近 运行 遇到了 Visual Basic .NET 和 WinForms 中的富文本框问题。 假设我有一个主窗体和一个日志窗体。日志表单包含一个用作日志的富文本框。在主窗体中,我正在向日志中写入文本,并且我还设置了行的格式,因此它们具有不同的颜色(蓝色表示信息,红色表示错误)。 不幸的是,每当我关闭并重新打开日志表单时,所有已写入其中的文本都会丢失。 我试过将它保存到文本文件中,但这并没有保存文本的颜色。
有什么方法可以在表单关闭时保存文本和线条的颜色?
Shrotter 的优秀建议可能如下所示:
Public Class Form1
Private RtfPath As String
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim folder As String = System.IO.Path.GetDirectoryName(Application.ExecutablePath)
RtfPath = System.IO.Path.Combine(folder, "RtbData.rtf")
If System.IO.File.Exists(RtfPath) Then
RichTextBox1.LoadFile(RtfPath)
End If
End Sub
Private Sub Form1_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
RichTextBox1.SaveFile(RtfPath)
End Sub
End Class
当然,您应该始终将文件的 loading/saving 包裹在 Try/Catch 块中,以防出现任何问题。