我只是将问题和我的部分解决方案包括在内。这个问题来自我的第一个编程课,所以请保持温和。
编写一个Function过程,当属性满足搜索条件时,该过程返回propListBox中属性的索引。稍后将通过Search和SearchNext Buttons的事件处理程序调用此函数。
使用以下过程标题。 (此功能将用于实现要求#12和#13。)
第一个参数是搜索将从中开始的属性列表中的索引。第二个参数是卧室数量的搜索标准,第三个是浴室数量,第四个是州。如果将0作为卧室/浴室的参数传递,则表示用户未指定卧室/浴室的搜索条件。如果Nothing作为state的参数传递,则表示用户没有为State指定搜索条件。
如果您有多个条件,您应该找到满足所有条件的属性。 (例如,如果为startIndex指定了'0'(意味着您将从第一个属性开始搜索),并且如果3作为卧室参数传递,3则传递给浴室,则满足这两个条件的第一个属性是该物业的地址为'1314 Fern Ave,Orlando,FL 32814'。
使用循环结构遍历每个属性,并将#of bedroom,#of bathroom和属性的状态与传递给函数的参数进行比较。请注意,有关属性的信息存储在nbeds,nbath和states数组中。
属性搜索应该从startIndex开始,并且应该在找到满足所有条件的第一个属性时停止。
此函数应返回找到的属性的索引(在propListBox中)。如果未找到,则该函数返回-1。
--------------我的代码------------
Private Function SearchForm(ByVal startIndex As Integer,
ByVal bedroom As Integer,
ByVal bathroom As Integer,
ByVal propState As String) As Integer
Dim propFound As Integer
Dim highIndex As Integer = propListBox.Items.Count - 1
For propIndex As Integer = propListBox.SelectedIndex To highIndex
If nBeds(propIndex) = bedroom Or bedroom = 0 Then
If nBaths(propIndex) = bathroom Or bathroom = 0 Then
If states(propIndex) = propState Or propState = String.Empty Then
propListBox.SelectedIndex = propIndex
End If
End If
Else : MsgBox("Not Found")
End If
Next propIndex
Return propFound
End Function