gpt4 book ai didi

c# - 在富文本框中从 TreeView 中打开选定的文件

转载 作者:太空宇宙 更新时间:2023-11-03 12:31:13 25 4
gpt4 key购买 nike

我的应用程序由一个 TreeView、一个 RichTextBox 和一个 Button 组成。TreeView 显示我系统的内容(目录、文件夹和文件)。按下按钮时应该从 TreeView 中获取选定的文件并将其显示在 RichTextBox 中。我使用了以下代码:

    private void button_Click(object sender, EventArgs e)
{
string a = TreeView.SelectedNode.FullPath;
MessageBox.Show(a); //To check if it's taking the correct path
richTextBox1.LoadFile(a, RichTextBoxStreamType.PlainText);
}

字符串 a 中的值是正确的,即 TreeView.SelectedNode.FullPath 返回正确的路径,我用 MessageBox 确认了这一点。

但是 richTextBox1.LoadFile(a, RichTextBoxStreamType.PlainText) 行中存在运行时异常。它在实际选择的文件路径 ( shown in the image ) 之前附加 Debug 文件夹的路径,这会导致异常。所有文件都存储在本地。我该如何解决这个问题?

最佳答案

这是因为您的树节点包含项目的相对路径而不是绝对

如何预防?首先,您应该将完整路径(包括驱动器名称)存储在 FullPath 属性中。

如果路径以文件夹名称开头,应用程序会尝试获取当前事件文件夹的内部文件夹(调试)。如果路径以 \ 开头 - 应用程序将在当前驱动器的根文件夹中查找文件,如果路径以驱动器名称 D:\ 开头 - 应用程序将查找文件在这个驱动器上。因此,在您的情况下,最好始终传递绝对路径,这样可以在搜索文件时排除歧义。

如果文件要相对于执行文件存储,你应该添加一些..\作为前缀——它代表'going one level upper'

您可以阅读 this以更加熟悉 Windows 路径名样式。

关于c# - 在富文本框中从 TreeView 中打开选定的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42690664/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com