这是codeplex上的应用程序,我所做的就是创建一个新的文本框,并尝试将当前节点的路径选入此文本框,但我得到了额外的东西,我根本不需要,
链接到应用程序,
我使用的代码行是,
TextBox1.Text = nodeCurrent.FullPath;
我得到的输出是这样的,
我的电脑\ C:\\ Documents and Settings \ Administrator \ Desktop
我的电脑在这里是根节点,我不需要,我想要的只是
C:\ Documents and Settings \ Administrator \ Desktop
已添加图片
这是我正在使用它的功能
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;
}
答案 0 :(得分:3)
在我看来,代码中的getFullPath
方法将完全符合您的要求。它剥离MyComputer\
字符串并返回其余字符串。写:
string newPath = getFullPath(nodeCurrent.FullPath);
答案 1 :(得分:1)
在代码中添加以下行,它将删除路径
中的重复“\”newPath = newPath.Replace("\\\\", "\\");