C# WPF-如何关闭在RichTextBox中打开的文件

C# WPF-如何关闭在RichTextBox中打开的文件,c#,wpf,C#,Wpf,点击一个按钮,我在一个WPF应用中打开一个文件,如下所示。我有另一个关闭文件的按钮,但需要弄清楚如何关闭打开的文件后,阅读它,但不退出我的整个WPF应用程序 可以将其视为类似于Microsoft WORD应用程序中的场景,在该应用程序中,您可以使用文件-->打开菜单项打开WORD文档,然后使用文件-->关闭菜单项关闭它,同时保持WORD应用程序在顶部功能区处于打开状态。在我的例子中,我在顶部有一个带有打开和关闭按钮的工具栏,我需要对其执行类似的打开/关闭文件操作: private void Bt

点击一个按钮,我在一个
WPF
应用中打开一个文件,如下所示。我有另一个关闭文件的按钮,但需要弄清楚如何关闭打开的文件后,阅读它,但不退出我的整个WPF应用程序

可以将其视为类似于Microsoft WORD应用程序中的场景,在该应用程序中,您可以使用
文件-->打开
菜单项打开WORD文档,然后使用
文件-->关闭
菜单项关闭它,同时保持WORD应用程序在顶部功能区处于打开状态。在我的例子中,我在顶部有一个带有打开和关闭按钮的工具栏,我需要对其执行类似的打开/关闭文件操作:

private void BtnOpenFile_Click(object sender, RoutedEventArgs e)
{
    OpenFileDialog dlg = new OpenFileDialog();
    dlg.Filter = "Rich Text Format (*.rtf)|*.rtf|All files (*.*)|*.*";
    if (dlg.ShowDialog() == true)
    {
        FileStream fileStream = new FileStream(dlg.FileName, FileMode.Open);
        TextRange range = new TextRange(mainRTB.Document.ContentStart, mainRTB.Document.ContentEnd);
        range.Load(fileStream, DataFormats.Rtf);
    }
}
如果您想“关闭”其内容显示在RichTextBox中的文件,我认为清除RichTextBox并释放资源就足够了


“处理您的资源”,我的意思是关闭
文件流
,或者使用
将其包装在
中。

因此不是代码编写服务。你试过什么?只是给你一个提示:一旦你释放了你的FileStream资源(这是一次性的),它看起来就像你“关闭”了文件。此外,真正的问题是什么?如果要“关闭”文件,清除RichTextBox并释放资源是不够的?
filestream.close()
将关闭它。您可能还应该
Dispose()
它,或者更好的是,使用
@BradleyUffner将它包装在
中。您的意思是,使用
包装
将同时处理
。Close()
Dispose()
正确吗?@nam Yes。如果在读取流时出现错误,它甚至会关闭/处理该流。@Albertoslano实际上,您评论的最后一行就是解决方案(谢谢):
不足以清除RichTextBox并处理您的资源?
如果您愿意,可以将您的评论转换为
回复
,我将其标记为
回复
,以便其他人也可以从中受益。