2011-12-30 100 views
1

這裏是CodePlex上的所有我所做的是創建一個新的文本框,並試圖讓選擇進入這個文本框當前節點的路徑中的應用程序,但我得到額外的事情,我不需要在所有的,樹視圖FULLPATH剝離

鏈接到應用程序,

Codeplex app

代碼行我現在用的就是,

TextBox1.Text = nodeCurrent.FullPath; 

和輸出我正在剛開g是這樣的事情,

我的電腦\ C:\\的Documents and Settings \ Administrator的\桌面

這裏我的電腦是根節點,我不需要,我要的是

C:\ Documents和Settings \管理員\桌面

圖片加入

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; 
    } 
+0

檢查'吉姆Mischel's'的答案有,做同樣的文章中的方法正如我所建議的那樣。 – keyboardP 2011-12-30 15:21:13

回答

1

添加以下行的代碼,它會刪除重複的「\」路徑

newPath = newPath.Replace("\\\\", "\\"); 
3

功能看起來對我來說,在該代碼將不正是你想要的getFullPath方法。它剝去MyComputer\字符串並返回其餘部分。寫:

string newPath = getFullPath(nodeCurrent.FullPath); 
+0

我的問題的一半已解決,現在如何擺脫「C」之後出現的「C:\\」,因爲我只需要一個,我懷疑是否可以將其刪除,因爲當我只點擊驅動器c節點時我「C:/」但是當我去像文件它給我的子文件夾C:// Documents – 2011-12-30 15:24:05

+0

@TimeToThine:我沒有看到任何代碼,它會把它放在一個雙反斜槓。你是否看到界面中顯示的那些「\\」? – 2011-12-30 15:58:43

+0

我添加的圖片先生,怎麼看起來像 – 2011-12-30 16:05:35