2014-11-30 7 views
0

I ... 지금 잠시 동안 텍스트 편집기 작업을 마지막으로는 꽤 많은 시간 동안 저를 도청 한이 문제를보고 시작하기로 결정했습니다 거의 완성 된했습니다VB 2010 OpenFileDialog를 파일 형식 유효하지

나는 항상

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가) 어떤 해결책을 제공 나와 "유효하지 않은 파일 형식"의 오류를 제공하지만, 항상 나에게 "파일을 제공하는 OpenFileDialog를이 형식이 잘못되었습니다 "오류 - 내 사용자 지정 파일 확장명과 .rtf"서식있는 텍스트 파일 "확장명을 포함합니다.

감사합니다.

답변

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 
+0

이 나는 ​​RTF 파일 형식이 기본값으로 설정되어 .swtf을 열고 지금 경우 일반 텍스트 및 읽을 수없는 "파일 형식이 유효하지 않습니다"오류 – parabolah

+0

실제로 여전히 내게 두 파일 형식에 대한 파일 확장명 오류를 제공합니다, 거기에 상관없이 그것을 읽을 수있는 방법은 무엇입니까? - rtf를 시도하기 전에 .swtf를 열어 보았습니다. – parabolah