Vb.net 在组合框中仅列出一次文件类型
此代码Vb.net 在组合框中仅列出一次文件类型,vb.net,file,Vb.net,File,此代码 试试看 对于System.IO.Directory.GetFiles(dir)中的字符串形式的每个文件 如果System.IO.Path.GetExtension(file.ToString=“.xsl”,则 ComboTheme.Items.Add(System.IO.Path.GetFileNameWithoutExtension(文件)) ComboTheme.Items.Add(System.IO.Path.GetExtension(文件)) 如果结束 下一个 特例 结束尝试
试试看
对于System.IO.Directory.GetFiles(dir)中的字符串形式的每个文件
如果System.IO.Path.GetExtension(file.ToString=“.xsl”,则
ComboTheme.Items.Add(System.IO.Path.GetFileNameWithoutExtension(文件))
ComboTheme.Items.Add(System.IO.Path.GetExtension(文件))
如果结束
下一个
特例
结束尝试
工作时,在文本框中注册
- 蓝色(.xsl)
- 白色(.xsl)
- 文件(.txt)
- 蓝色的
- 白色的
Dim files as String() = System.IO.Directory.GetFiles(dir, "*.xsl")
Try
For Each file As String In files
ComboTheme.Items.Add(System.IO.Path.GetFileNameWithoutExtension(file))
Next
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
它将使组合看起来像
- 蓝色的
- 白色的
- 蓝色(.xsl)
- 白色(.xsl)
Dim s as String
Dim f as String = System.IO.Path.GetFileNameWithoutExtension(file)
Dim e as String = System.IO.Path.GetExtension(file)
s = string.Format("{0} ({1})", f, e)
ComboTheme.Items.Add(s)
我建议您也导入System.IO,这样您就不必一直编写System.IO
您的代码调用Add两次,这将导致组合框中出现4个条目,即使只有2个xsl文件好吧,您可以使用
System.IO.Directory.GetFiles(dir,“*.xsl”)
,但这不会对输出造成太大影响。当前代码不应将扩展名为“.txt”的文件添加到组合框中。你应该明白发生了什么。此外,您不应该接受这样的异常(特别是在调试时)。摆脱异常处理,逐步完成代码;如果你不能解决这个问题,那么回答这个问题并提供更多信息。尝试清理和重建你的解决方案。您可能正在运行旧版本的代码。还可以临时删除try-catch块,并用生成的任何异常更新您的问题。您可以创建一个具有3个属性的类:[P1]
作为完整文件名,[P2]
返回GetFileNameWithoutExtension
和[P3]
返回GetExtension
。然后重写ToString()
以返回“[P2]([P3])”
。使用列表(类)
填充组合框,设置displaymber=“[P2]”
。选择项时,您的TextBox.Text=[SelectedItem].ToString()
您不需要。ToString是GetExtension的结果,因为GetExtension返回的字符串alreadynot,这意味着只有xsl文件出现,没有为文件扩展提供括号。我想你可能需要更好地解释自己,因为我不是唯一一个决定这是你想要的