为什么我的OpenFileDialog不起作用?

时间:2016-07-26 05:41:54

标签: c# .net winforms rtf

我尝试打开一个textdocument然后收到消息:来自try-catch的文件格式无效。我使用Visual Studio 2015与Visual C#和Windows窗体应用程序。

这是我的open函数代码:

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

我希望你能帮助我赐予友好的祝福。

1 个答案:

答案 0 :(得分:2)

问题可能是您没有加载RTF文档 - 请参阅MSDN上的docs

  

使用此版本的LoadFile方法, if 正在加载的文件是   不是RTF文档,会发生例外。加载其他类型   诸如ASCII文本文件之类的文件,使用 的其他版本   方法 接受 RichTextBoxStreamType 枚举中的值   作为参数。

所以尝试使用这个方法的重载version接受像这样的流类型(根据你的需要调整)

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