vb.net~如何将目录中的文件夹名称添加到列表框中

时间:2014-07-01 12:48:05

标签: vb.net listbox visual-studio-2013 directory

我尝试将用户指定的directpory中的文件夹名称添加到列表框中。我尝试了一些解决方案,但似乎无法添加任何项目。最近我尝试过:

For Each folder As String In System.IO.Path.GetDirectoryName("D:\")
    ListBox1.Items.Add(folder)
Next

表单是在VB Studio Express 2013中使用VB构建的。运行程序时没有错误。

如果有人能指出我正确的方向,那么请帮忙!

2 个答案:

答案 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