我尝试将用户指定的directpory中的文件夹名称添加到列表框中。我尝试了一些解决方案,但似乎无法添加任何项目。最近我尝试过:
For Each folder As String In System.IO.Path.GetDirectoryName("D:\")
ListBox1.Items.Add(folder)
Next
表单是在VB Studio Express 2013中使用VB构建的。运行程序时没有错误。
如果有人能指出我正确的方向,那么请帮忙!
答案 0 :(得分:3)
如果你想要一个目录列表,你需要调用Directory.GetDirectories(path),而不是Path.GetDirectoryName(path),在你的情况下只返回null(传递一个驱动器的根目录)
For Each folder As String In System.IO.Directory.GetDirectories("D:\")
ListBox1.Items.Add(folder)
Next
如果您只想显示文件夹名称而不是完整路径,请使用
For Each folder As String In System.IO.Directory.GetDirectories("D:\")
ListBox1.Items.Add(Path.GetFileName(folder))
Next
是的,我知道,在文件夹名称上请求GetFileName似乎是错误的,但是将完整路径传递给GetFileName只返回没有路径的文件夹。
答案 1 :(得分:0)
如何选择文件夹名称以预览图片
Imports System.IO
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
For Each folder As String In System.IO.Directory.GetDirectories("C:\Program Files (x86)\KONAMI\Pro Evolution Soccer 2016\SFXPath\SweetFX")
ListBox1.Items.Add(Path.GetFileName(folder))
Next
End Sub
Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
If ListBox1.SelectedItem = "folder" Then PictureBox1.ImageLocation = "C:\Program Files (x86)\KONAMI\Pro Evolution Soccer 2016\SFXPath\SweetFX\HD Natural by pimplo\preview.jpg"
End Sub
End Class