我已经在文本编辑器上工作了一段时间,接近完成终于决定开始研究这个问题已经困扰了我很长一段时间......
我有一个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"富文本文件"扩展
谢谢!
答案 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