从文本框搜索字段填充列表框
Populating ListBox from textbox search fields
我正在尝试找出 ListBox 未填充的简单原因,目的是在目录中查找文件。文件通常看起来像 FY12 Month02 BMD Mold Line.pdf
,所以我为年、月和类型制作了三个文本框。我还想知道对一个文件名的三个搜索字段使用 CONTAINS
的最佳方法是什么?
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim year, month, type As String
year = InternalAuditYear.Text
month = InternalAuditMonth.Text
type = InternalAuditType.Text
Dim FileList As String() = Directory.GetFiles("X:\Internal audits\", ".pdf", SearchOption.AllDirectories)
For Each foundFile As String In FileList
Dim GOTCHA As String = Path.GetFileName(foundFile)
ListBox1.Items.Add(GOTCHA)
Next
End Sub
对于文件名分隔,您可以使用一个简单的 .Split(' ') ,您可以在使用它之前在 arraysize 上进行测试...应该是这样的(没有 VB.Net 方便的权利现在):
Dim fileName As String = "FY12 Month02 BMD Mold Line.pdf"
Dim splitFileName() As String = fileName.Split(New Char() {" "c})
If (splitFileName.Length > 4) Then
'OK, proper file name
year = splitFileName(1)
month = splitFileName(2)
type = splitFileName(3)
End If
你的其他问题:调试的时候看看listbox项有没有。如果是,请尝试手动刷新表单。如果不是,你没有找到正确的路径。 (也许驱动器 X: 在 运行 程序时不可用)
您的 ListBox 未填充的原因很可能是因为 Directory.GetFiles()
未返回任何结果。这是由于 searchPattern 参数 ".pdf"
它需要一个通配符 (*
).
尝试...
Directory.GetFiles("X:\Internal audits\", "*.pdf", SearchOption.AllDirectories)
但是,这也取决于是否存在以 .pdf
结尾的文件。
我正在尝试找出 ListBox 未填充的简单原因,目的是在目录中查找文件。文件通常看起来像 FY12 Month02 BMD Mold Line.pdf
,所以我为年、月和类型制作了三个文本框。我还想知道对一个文件名的三个搜索字段使用 CONTAINS
的最佳方法是什么?
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim year, month, type As String
year = InternalAuditYear.Text
month = InternalAuditMonth.Text
type = InternalAuditType.Text
Dim FileList As String() = Directory.GetFiles("X:\Internal audits\", ".pdf", SearchOption.AllDirectories)
For Each foundFile As String In FileList
Dim GOTCHA As String = Path.GetFileName(foundFile)
ListBox1.Items.Add(GOTCHA)
Next
End Sub
对于文件名分隔,您可以使用一个简单的 .Split(' ') ,您可以在使用它之前在 arraysize 上进行测试...应该是这样的(没有 VB.Net 方便的权利现在):
Dim fileName As String = "FY12 Month02 BMD Mold Line.pdf"
Dim splitFileName() As String = fileName.Split(New Char() {" "c})
If (splitFileName.Length > 4) Then
'OK, proper file name
year = splitFileName(1)
month = splitFileName(2)
type = splitFileName(3)
End If
你的其他问题:调试的时候看看listbox项有没有。如果是,请尝试手动刷新表单。如果不是,你没有找到正确的路径。 (也许驱动器 X: 在 运行 程序时不可用)
您的 ListBox 未填充的原因很可能是因为 Directory.GetFiles()
未返回任何结果。这是由于 searchPattern 参数 ".pdf"
它需要一个通配符 (*
).
尝试...
Directory.GetFiles("X:\Internal audits\", "*.pdf", SearchOption.AllDirectories)
但是,这也取决于是否存在以 .pdf
结尾的文件。