树查看全路剥离

时间:2011-12-30 14:59:05

标签: c# .net winforms treeview

这是codeplex上的应用程序,我所做的就是创建一个新的文本框,并尝试将当前节点的路径选入此文本框,但我得到了额外的东西,我根本不需要,

链接到应用程序,

Codeplex app

我使用的代码行是,

TextBox1.Text = nodeCurrent.FullPath;

我得到的输出是这样的,

  

我的电脑\ C:\\ Documents and Settings \ Administrator \ Desktop

我的电脑在这里是根节点,我不需要,我想要的只是

  

C:\ Documents and Settings \ Administrator \ Desktop

已添加图片

enter image description here

这是我正在使用它的功能

private void tvFolders_AfterSelect(object sender, System.Windows.Forms.TreeViewEventArgs e)
    {
        //Populate folders and files when a folder is selected
        this.Cursor = Cursors.WaitCursor;

        //get current selected drive or folder
        TreeNode nodeCurrent = e.Node;
        string newPath = getFullPath(nodeCurrent.FullPath);
        tbDirectory.Text = newPath;


        //clear all sub-folders
        nodeCurrent.Nodes.Clear();

        if (nodeCurrent.SelectedImageIndex == 0)
        {
            //Selected My Computer - repopulate drive list
            PopulateDriveList();
        }
        else
        {
            //populate sub-folders and folder files
            PopulateDirectory(nodeCurrent, nodeCurrent.Nodes);
        }
        this.Cursor = Cursors.Default;
    }

2 个答案:

答案 0 :(得分:3)

在我看来,代码中的getFullPath方法将完全符合您的要求。它剥离MyComputer\字符串并返回其余字符串。写:

string newPath = getFullPath(nodeCurrent.FullPath);

答案 1 :(得分:1)

在代码中添加以下行,它将删除路径

中的重复“\”
newPath = newPath.Replace("\\\\", "\\");