无法获取不在项目中的文件路径



我的程序有问题。我想做一个像窗口探索和应用程序,当我双击到一个项目在ListView它会显示文件/文件夹深度在它。我使用此代码Path.GetFullPath(fileName)来查找所选项目名称的完整路径,但它总是返回我当前的项目路径。我找不到解决的办法。有谁知道,请帮助我!非常感谢!下面是我的代码:

        private void listViewFolder_DoubleClick(object sender, EventArgs e)
    {
        if (this.listViewFolder.SelectedItems.Count == 1)
        {
            ListView temp = (ListView)sender;
            string fileName = ((ListViewItem)temp.SelectedItems[0]).Text;
            string filePath = Path.GetFullPath(fileName);
            this.listViewFolder.Clear();
            DirectoryInfo _nodeDirectory = new DirectoryInfo(filePath);
            ListViewItem.ListViewSubItem[] _subFolder;
            ListViewItem _item = null;
            try
            {
                foreach (DirectoryInfo i in _nodeDirectory.GetDirectories())
                {
                    _item = new ListViewItem(i.Name, 1);
                    _subFolder = new ListViewItem.ListViewSubItem[] { new ListViewItem.ListViewSubItem(_item, "Directory") };
                    this.listViewFolder.Items.Add(_item);
                }
                foreach (FileInfo file in _nodeDirectory.GetFiles())
                {
                    _item = new ListViewItem(file.Name, 2);
                    _subFolder = new ListViewItem.ListViewSubItem[] { new ListViewItem.ListViewSubItem(_item, "File") };
                }
            }
            catch (UnauthorizedAccessException ex)
            {
                MessageBox.Show("Folder Access denied", ex.Message, MessageBoxButtons.OK);
            }

        }
    }

在条目中放置完整的路径,这样就省去了麻烦。标签属性。你可以这样做:

string path = (string) ((ListViewItem)temp.SelectedItems[0].Tag;

您还可以检查路径是否为目录并相应地执行

最新更新