You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Visual Basic中如何在ListBox中仅显示文件名不显示完整路径

解决方案

IO.Directory.GetFiles 方法默认返回的是包含完整路径的文件字符串,你可以借助 IO.Path.GetFileName 方法提取纯文件名,常用实现方式有两种:

  • 方式一:循环遍历逐个处理
Dim files() As String = IO.Directory.GetFiles(CurDir, "*.txt")
For Each filePath As String In files
    ' 提取纯文件名后添加到ListBox
    ListBox1.Items.Add(IO.Path.GetFileName(filePath))
Next
  • 方式二:LINQ批量处理后一次性添加(代码更简洁)
    需要先在代码文件头部引入LINQ命名空间:
    Imports System.Linq
    后续逻辑代码:
Dim files() As String = IO.Directory.GetFiles(CurDir, "*.txt")
Dim pureFileNames = files.Select(Function(path) IO.Path.GetFileName(path)).ToArray()
ListBox1.Items.AddRange(pureFileNames)

如果后续你还需要用到选中文件的完整路径做读取、修改等操作,建议不要直接丢弃路径信息,可以用自定义类绑定ListBox,同时兼顾展示效果和路径存储:

' 自定义文件项类
Public Class FileItem
    Public Property FileName As String
    Public Property FullPath As String
    ' 重写ToString方法,ListBox默认展示该方法返回值
    Public Overrides Function ToString() As String
        Return FileName
    End Function
End Class

' 绑定数据到ListBox的逻辑
Dim files() As String = IO.Directory.GetFiles(CurDir, "*.txt")
Dim itemList As New List(Of FileItem)
For Each fullPath In files
    itemList.Add(New FileItem With {
        .FileName = IO.Path.GetFileName(fullPath),
        .FullPath = fullPath
    })
Next
ListBox1.Items.AddRange(itemList.ToArray())

' 后续获取选中文件完整路径的示例
' Dim selectedPath = DirectCast(ListBox1.SelectedItem, FileItem).FullPath

内容的提问来源于stack exchange,提问作者beamed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 05:48:05