1

我必须在列表框中列出位于我的项目目录中的所有文件(因此使用相对路径)。我还需要在列表中打开选中的文件(点击或双击,都一样)。这是我的代码:

let list = new ListBox(Height=600, Dock=DockStyle.Right)
let dir = new DirectoryInfo(@"c:\tiles\")
list.Items.Add(dir.GetFiles())

当我启动我的项目时,我在 ListBox 中有一个“System.IO.FileInfo[]”字符串。如何解决?项目目录的正确路径字符串是什么?

关于开场问题?

PS:我必须在位图中加载 *.png 文件。

4

3 回答 3

2

对我来说似乎是一个合理的问题。

dir.GetFiles() 返回 System.IO.FileInfo 数组(请参阅http://msdn.microsoft.com/en-us/library/4cyf24ss)尝试枚举和使用列表中这些事物的属性。

属性列表:http: //msdn.microsoft.com/en-us/library/system.io.fileinfo

于 2012-07-06T00:43:47.557 回答
2

问题在于 F# 如何处理paramsargs,它与 C# 略有不同 - 这将解决问题

let files = dir.GetFiles()
files |> Array.iter (fun t -> list.Items.Add t |> ignore)
于 2012-07-06T01:02:58.383 回答
2

以这种方式完成:

let dir = new DirectoryInfo(path)
for file in dir.GetFiles() do
  list.Items.Add(file) |> ignore
于 2012-07-06T09:24:07.887 回答