我正在创建一个Windows窗体项目,它将在我的业余时间搜索指定文件夹中的文件。到目前为止,我的TreeView显示文件夹就像在Windows资源管理器中一样。
我还有一个ListBox,可以存储所有搜索结果。当我双击该列表中的项目时,我想要打开该文件的选项。
到目前为止,我看到了三种方法:
对我而言,第三种方法最吸引人,但我不知道从哪里开始。到目前为止,我一直在摆弄控制库,但无济于事。
我希望能够以类似于TreeView的方式使Tag工作。因此,如果前者不可能,则检索标记和设置标记的代码看起来像ListBox1.Items[i].Tag
或ListBox1.Tag[i]
。
非常感谢任何帮助。
答案 0 :(得分:2)
您应该使用返回完整路径的属性创建自定义SearchResult
类
该类应覆盖ToString()
并返回要在列表框中显示的文本。
然后,您可以将您的类的实例直接放入列表框中,并将列表框中的项目强制转换回类以获取属性。
答案 1 :(得分:1)
我会创建一个代表列表中项目的自定义类。您有表示要显示的值的属性(不是字段!),以及您可以在列表框的.DisplayMember和.ValueMember属性中输入该属性名称的选定值。 DisplayMember返回的任何内容都将显示为项目的文本,而.ValueMember返回的内容将是.SelectedValue返回的内容。您将能够直接访问.SelectedItem以获取所选的确切项目。这样您就可以存储任何您想要的项目。如果您未指定.DisplayMember,则列表框将在项目上使用.ToString函数。