2010-03-17 44 views
0

我有一個列表框,我想循環每個項目,看看我想要的字符串是否在裏面。我知道我可以做.contains但不會看到子字符串。使用看起來像這樣的代碼IM:VB列表框無法編入索引,因爲它沒有默認值

While tempInt > Listbox.items.count then 
if searchString.contains(listbox(tempInt)) then 
end if 
tempInt+=1 
end while 

在環路一切都很好,但VB提供了關於列表框(tempInt)部分的錯誤。錯誤是「類windows.forms.listbox無法索引,因爲它沒有默認值」。任何人都可以幫助解決默認值廢話?我試圖把一個空白的字符串,但沒有改變。

回答

1

使用列表框,其中經由一個索引是可訪問的,就像陣列的Items屬性...

 
listBox.Items[0] 
+0

C#信達x,但仍然如此。 –

+0

工作感謝:) –

1

該錯誤消息表示該ListBox類沒有索引器(意味着它不不定義屬性,在VB中稱爲default,在C#中使用索引器或this屬性,該屬性可以通過索引傳遞以檢索值)。

您正在尋找listbox.Items(tempInt)

正如順便說一句,使用For循環最好你所選擇的While,雖然For Each很可能是最好的(假設你不需要索引)

For tempInt as Integer = 0 to listbox.Items.Count - 1 
    if searchString.contains(listbox.Items(tempInt).ToString()) then 
    end if 
Next 

或者,如果指數不relvant給你,用For Each

For Each item in listbox.Items 
    if searchString.contains(item.ToString()) then 
    end if 
Next 
相關問題