2016-07-26 113 views
-2

我嘗試打開一個文本文檔,然後收到消息:try-catch中的無效文件格式。我使用Visual Studio 2015與Visual C#和Windows窗體應用程序。爲什麼我的OpenFileDialog沒有工作?

這裏我對開放的功能代碼:

private void openToolStripMenuItem_Click(object sender, EventArgs e) 
{ 
    try { 
    // Create an OpenFileDialog to request a file to open. 
    OpenFileDialog openFile1 = new OpenFileDialog(); 

    // Initialize the OpenFileDialog to look for RTF files. 

    openFile1.Filter = "Text Files (*.txt)|*.txt| RTF Files (*.rtf)|*.rtf| All (*.*)|*.*"; 

    // Determine whether the user selected a file from the OpenFileDialog. 
    if (openFile1.ShowDialog() == System.Windows.Forms.DialogResult.OK && 
     openFile1.FileName.Length > 0) 
    { 
     // Load the contents of the file into the RichTextBox. 
     TextBox.LoadFile(openFile1.FileName); 
    } 
    } 
    catch (Exception a) 
    { 
     MessageBox.Show(a.Message); 
    } 
}//end open 

我希望你能幫助我與友好的願望sniffi。

+0

什麼是完整的文件路徑和名稱要載入? –

+0

C:\ Users \ H179850 \ Documents \ Verschiedene Aufzeichnungen(< - 表示不同的記錄) – sniffi

+0

它是.txt還是.rtf?因爲如果沒有,那麼你將無法加載它 –

回答

2

問題可能是您不加載RTF文檔 - 請參閱MSDN上的docs

使用此版本的的LoadFile方法,如果正在加載的文件是 不RTF文檔,一個異常將發生。加載文件的不同類型 如ASCII文本文件,使用方法其他版本的接受一個從RichTextBoxStreamType枚舉 作爲參數值。

因此嘗試使用這種方法,它接受流類型等的重載version左右(按需要調整)

TextBox.LoadFile(openFile1.FileName, RichTextBoxStreamType.PlainText); 
+0

我得到了同樣的錯誤信息給我一分鐘我必須閱讀從RichTextBox.LoadFile方法(字符串,RichTextBoxStreamType)的msdn幫助 – sniffi

+0

Sry,但我不認爲我需要,因爲我想打開多種類的流。我必須打開例如.txt和.dau數據。 – sniffi

+0

那麼您必須事先知道要打開哪種類型的流,然後使用適當的流類型。如果你不知道一些擴展名(我們稱之爲.dummy)是純文本還是RTF等,系統應該如何知道如何處理它? – DAXaholic

相關問題