Vb.net 保存txt文件时保存的RTF代码

Vb.net 保存txt文件时保存的RTF代码,vb.net,richtextbox,rtf,Vb.net,Richtextbox,Rtf,我正在做一个VB.NET项目 我有一个richtextbox和一个按钮来保存我写的东西 但当我打开文件时,我看到: 我只想显示文本“ilyasscj isjdivs”,而不是所有的RTF代码 这是我的代码: Private Sub EnsregistrerSousToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles EnsregistrerSousToolStr

我正在做一个VB.NET项目

我有一个richtextbox和一个按钮来保存我写的东西

但当我打开文件时,我看到:

我只想显示文本“ilyasscj isjdivs”,而不是所有的RTF代码

这是我的代码:

Private Sub EnsregistrerSousToolStripMenuItem_Click(ByVal sender As 
System.Object, ByVal e As System.EventArgs) Handles 
EnsregistrerSousToolStripMenuItem.Click
    SaveFileDialog1.InitialDirectory = "c:\"
    SaveFileDialog1.Filter = "Texte|*.txt|RTF|*.rtf|Tous|*.*"
    SaveFileDialog1.Title = "enregistrer un fichier"
    If SaveFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
        fich = SaveFileDialog1.FileName
        RichTextBox1.SaveFile(fich)
    End If
End Sub

Private Sub EnregistrerToolStripMenuItem_Click(ByVal sender As 
System.Object, ByVal e As System.EventArgs) Handles 
EnregistrerToolStripMenuItem.Click
    If fich = "" Then
        SaveFileDialog1.InitialDirectory = "c:\"
        SaveFileDialog1.Filter = "Texte|*.txt|RTF|*.rtf|Tous|*.*"
        SaveFileDialog1.Title = "enregistrer un fichier"
        If SaveFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
            fich = SaveFileDialog1.FileName
            Try
                RichTextBox1.SaveFile(fich)
            Catch ex As Exception
                '    MsgBox(ex.Message)
            End Try
        End If

    Else
        Try
            RichTextBox1.SaveFile(fich)
        Catch ex2 As Exception
            MsgBox(ex2.Message)
        End Try

    End If
End Sub
我将感谢您的帮助。

文档中描述了预定义的行为:

将RichTextBox的内容保存为RTF格式 文件

如果在
SaveFile对话框
中定义了更多格式选项,则还需要验证用户选择的格式,并指示
SaveFile
方法在将输出流式传输到磁盘时使用该格式。
例如,使用
Select Case
开关选择与用户选择相对应的选项(有关其他可能的fomat选项的含义,请参阅文档):


也许您不应该使用“富”文本框?您是否查看过文档或注意过Intellisense,以了解是否有其他方法可以使用SaveFile?您是否在记事本中打开文件?如果是这样,记事本只能显示纯文本。尝试使用
RichTextBox1.Load(filename)
Dim sfd As SaveFileDialog = New SaveFileDialog()
sfd.Filter = "Texte (*.txt)|*.txt|RTF (*.rtf)|*.rtf|Tous (*.*)|*.*"
sfd.Title = "Enregistrer un fichier"
sfd.DefaultExt = "txt"

If sfd.ShowDialog() = Windows.Forms.DialogResult.OK Then
    Dim Filter As Integer = sfd.FilterIndex
    Dim FileFormat As RichTextBoxStreamType
    Select Case Filter
        Case 1
            FileFormat = RichTextBoxStreamType.PlainText
        Case 2
            FileFormat = RichTextBoxStreamType.RichText
        Case Else
            FileFormat = RichTextBoxStreamType.UnicodePlainText
    End Select

    Dim FileName As String = sfd.FileName
    RichTextBox1.SaveFile(FileName, FileFormat)
End If