VB 2010 openfiledialog文件格式无效

时间:2014-11-30 02:03:38

标签: vb.net richtextbox openfiledialog rich-text-editor

我已经在文本编辑器上工作了一段时间,接近完成终于决定开始研究这个问题已经困扰了我很长一段时间......

我有一个openfiledialog总是给我和#34;文件格式的错误无效"

Private Sub OpenToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles OpenToolStripMenuItem.Click
    Dim openWork As New OpenFileDialog
    openWork.Filter = "Text Documents (*.swtf)|*.swtf|Text Documents (*.rtf)|*.rtf|All Files (*.*)|*.*"
    If openWork.ShowDialog = Windows.Forms.DialogResult.OK Then
        RichTextBox1.LoadFile(openWork.FileName, RichTextBoxStreamType.RichText)
        Title.Text = System.IO.Path.GetFileNameWithoutExtension(openWork.FileName)
    End If
End Sub

错误RichTextBox1.LoadFile(openWork.FileName,RichTextBoxStreamType.RichText)没有解决方案,但总是给我一个"文件格式无效"错误 - 包括我的自定义文件扩展名和.rtf"富文本文件"扩展

谢谢!

1 个答案:

答案 0 :(得分:1)

如果您要打开的文件是真正的富文本文件,则它可以正常工作。如果您尝试加载的文件不是.rtf,则会导致文件格式无效错误,因为您在LoadFile方法中使用RichTextBoxStreamType.RichText

你可以尝试这样的东西......我在VB2010中进行了测试,它可以工作:

    Dim openWork As New OpenFileDialog
    openWork.Filter = "Text Documents (*.swtf)|*.swtf|Text Documents (*.rtf)|*.rtf|All Files (*.*)|*.*"
    If openWork.ShowDialog = Windows.Forms.DialogResult.OK Then
        'if the file is an .rtf, use the rich text format, if not, use plain text
        RichTextBox1.LoadFile(openWork.FileName, IIf(System.IO.Path.GetExtension(openWork.FileName) = ".rtf", RichTextBoxStreamType.RichText, RichTextBoxStreamType.PlainText))
        Title.Text = System.IO.Path.GetFileNameWithoutExtension(openWork.FileName)
    End If