2010-02-06 64 views
1

我有一個ComboBox設置與4項,索引範圍從0到3.如何獲取.NET ComboBox控件上的選定項目索引?

在我的代碼後面,我需要做一個特定的事件取決於選擇什麼。要做到這一點,我想過比較所選ComboBox項目的索引,因爲整數比較比字符串更快,對嗎?

我怎樣才能獲得所選項目的索引?

+2

你爲什麼要擔心的表現,當你有四個項目的清單? – 2010-02-06 22:38:35

+0

到處考慮表現是不是一件好事情?此外,項目的數量可以改變,取決於用戶如何設置。 – Phox 2010-02-06 22:39:27

回答

1

組合框有一個SelectedIndex屬性。

myComboBox.SelectedIndex 

關於比較:
如果你不這樣做百萬比較那麼這個「優化」不會幫助你。

0

你肯定整數比較總是比字符串比較快?

取決於你比較字符串有多長......如果你比較兩個字符串,每個只有一個字符,然後它的一個簡單的字節和操作可能比比較一個4字節的整數值更快。

+0

每個字符串完全是32個字節。 – Phox 2010-02-06 22:44:39

0

通常,您可以使用ComboBox.SelectedIndex屬性獲取當前選定項目的列表索引。

但是,我遇到過某些文本被輸入到組合框的文本字段中,並且SelectedIndex屬性未被正確更新並且包含值-1的情況。在這種情況下,你可以使用ComboBox.FindStringExact方法尋找輸入文本的列表索引:

Dim selectedIndex As Integer = myComboBox.FindStringExact(myComboBox.Text) 

(順便說一句,如果沒有列表項被發現與指定的文本,該函數將返回-1。 )

相關問題