winforms 阅读RTF格式时出现RTF框问题

5tmbdcev  于 2022-11-16  发布在  其他
关注(0)|答案(1)|浏览(198)

我的应用程序有问题。我在双击应用程序时打开文件时出现此问题:

public void ProcessText()
    {
        Path = Args[Args.Length - 1];
        System.Windows.Forms.RichTextBox TB = new System.Windows.Forms.RichTextBox();
        TB.Text = Path;
        ContentTextBox.Text = System.IO.File.ReadAllText(TB.Text);
        if (Args.Length == 1)
            ContentTextBox.Text = ET;
    }

我尝试使用注册表在应用程序中打开一个文件,它工作正常,但当我尝试读取富文本格式时,它显示如下:
Segoe用户界面; Segoe用户界面;{\color tbl;}} {\color tbl;(笑)- --------------------------
不管这意味着什么...
我试着让它看起来像这样:
“n.金属,金属合金”
我使用了“打开文件”对话框中的代码:

ContentTextBox.LoadFile(OFD.FileName);

这就是它最终的样子:

public void ProcessText()
    {
        Path = Args[Args.Length - 1];
        System.Windows.Forms.RichTextBox TB = new System.Windows.Forms.RichTextBox();
        TB.Text = Path;
        ContentTextBox.LoadFile(TB.Text);
        if (Args.Length == 1)
            ContentTextBox.Text = ET;
    }

在我使用这段代码后,它告诉我有一个错误:System.ArgumentException:'文件格式无效。'
请在不使用注册表编辑器的情况下帮助我修复此问题

ojsjcaue

ojsjcaue1#

我做了些调查,我发现了一些东西:首先,是的,我在回答我自己的问题,但我这样做是为了让你理解。我使用的代码是这样的:

public void ProcessText()
    {
        Path = Args[Args.Length - 1];
        System.Windows.Forms.RichTextBox TB = new System.Windows.Forms.RichTextBox { Text = Path };
        try
        {
            ContentTextBox.LoadFile(Path);
        }
        catch
        {
            ContentTextBox.Text = System.IO.File.ReadAllText(TB.Text);
        }
        if (Args.Length == 1)
            ContentTextBox.Text = ET;
    }

这意味着:
当我尝试对富文本文档使用简单文本方法时,出现了一个错误。抛出异常是因为文本编辑器中没有打开任何格式的文件,所以我让它尝试打开文本,当它失败时,它会尝试其他方法,如果都不起作用,文本将为空。这就是解决方案。
也谢谢你的建议--他们帮我解决了这个问题。

相关问题