ComboBox控制項是下拉式方塊控制項。如果將 其 DropDownStyle 設定成 DropDownList 那麼它就變成了下拉式清單方塊。下拉式清單的每一個項,一般包括兩個部分:
text 和 data
text 就是我們看到的列表中的顯示資料,data 就是包含在列表中,但是我們看不到的東東。
比如有一個列表是選擇 省份 ,雖然我們看到的是 吉林 遼寧 ……
但是我們在程式中一般會讀取他的data,也就是省份的代碼。
但是我們不能直接 為 list 分別賦 text 和 data 的值。
為瞭解決這個問題我們需要定義一個類。這個類包括兩個成員,分別 代表 text 和 data
類如下:
''' <summary>
''' 此類定義 DropDownList 控制項中的對象。
''' </summary>
''' <remarks></remarks>
Friend Class StringIntObjectClass StringIntObject
Public s As String
Public i As Integer
Public Sub New()Sub New(ByVal sz As String, ByVal n As Integer)
s = sz
i = n
End Sub
Public Overrides Function ToString()Function ToString() As String
Return s
End Function
End Class
請注意其重寫了 ToString 方法,為什麼要重寫他呢?因為當我們將一個StringIntObject 對象 放到 列表框中後,他會把 ToString 的結果顯示出來。我們便 重寫 ToString 方法,讓其返回我們想顯示在介面上的資訊。
向列表中添加一個項的方法如下:
'lsbUserList 為一個 DropDownList 控制項
Dim uItem As StringIntObject
uItem = New StringIntObject("吉林省", 1)
lsbUserList.Items.Add(uItem)
uItem = New StringIntObject("遼寧省", 2)
lsbUserList.Items.Add(uItem)
uItem = New StringIntObject("廣東省", 3)
lsbUserList.Items.Add(uItem)
獲得使用者選擇項的方法:
Dim i As Integer
i=CType(lsbUserList.SelectedItem, StringIntObject).i
dim s as integer
s=CType(lsbUserList.SelectedItem, StringIntObject).s
本文作者:northsnow(塞北的雪)