2016-01-20 45 views
0

所以我試圖複製我的用戶將成爲ListBox中的文件,我似乎有一個問題,因爲就行了,我嘗試複製我得到這個錯誤的文件:我無法複製我的文件,因爲「給定路徑的格式不受支持。」

An unhandled exception of type 'System.NotSupportedException' occurred in mscorlib.dll Additional information: The given path's format is not supported. 

後我相信一些研究是因爲我合併了字符串和東西,但我不確定,所以我想我可能會問這裏。

如果有幫助,我驗證了列表框項目是有效的文件路徑。

這裏是我的代碼:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
    Dim result As DialogResult = MessageBox.Show("Are you sure you want to finish the playlist?", "Finish Playlist- WikiFinder", MessageBoxButtons.YesNo) 
    If (result = DialogResult.Yes) Then 
     For Each Item In ListBox1.Items 
      My.Computer.FileSystem.CopyFile(Item.ToString(), MusicMenu.FolderBrowserDialog2.SelectedPath.ToString() & Item.ToString()) 
     Next 
    Else 
    End If 
End Sub 

記住我從來沒有真正與列表框工作,這是我第一次嘗試的CopyFile方法。有誰能夠幫助我?

+1

MusicMenu.FolderBrowserDialog2.SelectedPath.ToString()Item.ToString的'結果()'顯然是無效的。使用'Path.Combine'來創建路徑,但我們不知道列表框項目是否代表有效的路徑段 – Plutonix

+0

謝謝,這工作! – Klink45

回答

0

Path.Combine方法解決了我的問題。

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
    Dim result As DialogResult = MessageBox.Show("Are you sure you want to finish the playlist?", "Finish Playlist- WikiFinder", MessageBoxButtons.YesNo) 
    If (result = DialogResult.Yes) Then 
     For Each Item In ListBox1.Items 
      Dim str As String = IO.Path.Combine(MusicMenu.FolderBrowserDialog2.SelectedPath.ToString(), Item.ToString()) 
      My.Computer.FileSystem.CopyFile(Item.ToString(), str) 
     Next 
    Else 
    End If 
End Sub 

我相信當你寫下路徑時你不能合併字符串,這就是我做錯了。

要了解更多關於Path.Combine:https://msdn.microsoft.com/en-us/library/fyy7a5kt(v=vs.110).aspx

相關問題