我已经彻底梳理了StackOverflow和其他来源以解决这些问题的答案,并且无法找到能够与我需要完成的步骤紧密协作的解决方案。
我需要做的事情:
这是我到目前为止所得到的,并且它被相当黑,所以如果有任何可以改进的东西,我自然会成为所有为了那个原因。 `
Public Class Form1
Dim lblName As Object
Public colleges As String
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim colleges() As String = IO.File.ReadAllLines("Colleges.txt")
ListBoxCollege.Items.AddRange(colleges)
End Sub
Private Sub btnSearchGo_Click(sender As Object, e As EventArgs) Handles btnSearchGo.Click
Dim n As Integer, college As String
college = txtCollegeSearchUserInput.Text
n = Array.IndexOf(colleges(), college)
If n <> 1 Then
[[Needs to output into new listbox, preferably here]]
End If
End Sub
如果需要VB的其他内容,我可以在必要时提供!
答案 0 :(得分:0)
在你的情况下你可以做这样的事情
For i As Integer = 0 To ListBoxCollege.Items.Count -1
If ListBoxCollege.Items(i).ToString().IndexOf(college, StringComparison.OrdinalIgnoreCase) > -1 Then
findList.Items.Add(ListBoxCollege.Items(i))
End If
Next
这里的区别 - 你在数组上调用IndexOf
,我为列表中的每个项目调用它。因此,我返回所有比赛,而你只返回第一个
搜索条件略有限制。您可以使用正则表达式以及通配符等。或者您将数据(大学)存储在System.Data.DataTable
中,您将能够在数据库中运行Sql Select
查询。