我列出了我的组合框中的文件夹但是我试图按字母顺序对文件夹进行排序,然后按数字排序,反之亦然。
我填充组合框的编码是
With Combobox1.DataSource =
(From folder In New IO.DirectoryInfo("Path").GetDirectories
Select (folder.Name)
).ToArray
End With
是否可以对组合框进行分类?感谢
嗨,感谢你们两位的帮助,但它并没有真正解决我的问题,因为我的文件夹编号为1,50,115,189等。
这些应显示为
1
50
115
189
然而它们显示为
1
115
189
50
答案 0 :(得分:3)
你的语法只有一英寸
Combobox1.DataSource =
( From folder In New DirectoryInfo("Path").GetDirectories()
Order By folder.Name
Select folder.Name
).ToArray()
或者如果您更喜欢使用Name
FullName
编辑:快速修复您的请求。
Combobox1.DataSource =
( From folder In New DirectoryInfo("path").GetDirectories()
Order By ("00000000" + folder.Name).SubString(folder.Name.Length, 8)
Select folder.Name
).ToArray()
在order by
我在文件夹名称前加上八个0
个字符,然后将最后八个字符传递给排序。这应该足够用于“99999999”的文件夹,如果你的“路径”中有混合名称,则不会进行测试
答案 1 :(得分:2)
当然
Combobox1.DataSource =
( From folder In IO.Directory.GetDirectories("Path")
Order By folder
Select folder
).ToArray()
还可以使用提供静态方法的IO.Directory
。它将目录名称返回为字符串而不是DirectoryInfo
类。当你必须在同一目录上执行多个操作时,DirectoryInfo
会更好。
另外,我没有看到With
- 声明在这里做了什么。