ComboBox控件與ListBox控件

ComboBoxListBox都派生於ListControl類。這個類提供了一些基本的列表管理功能。

SelectedIndex返回一個整數值,它對應於當前選中項目的索引。從列表中獲取值有點困難,在給列表控件添加條目時,不僅可以添加字符串值,還可以添加任意類型的對象。

如果要添加的條目不是字符串,就必須設置另外兩個屬性。

第一個是DisplayMember屬性,這個設置告訴ListControl在列表中顯示對象的哪個屬性。

另一個是ValueMember屬性,它是要返回值的對象屬性。

例如,如果要使用Country對象,它包含兩個屬性CountryNameCountryAbbreviation,就應把DisplayMember設置爲CountryName屬性,把ValueMember設置爲CountryAbbreviation。在顯示列表時,就會看到國家名稱的列表,在使用SelectedValue屬性時,控件應返回列表中所選中國家的簡稱。

如果訪問Items屬性,就可以得到Country對象。Items屬性在控件上執行。在ListBox控件上,Items屬性返回ListBox.ObjectCollection。這是一個可以通過索引器引用的對象集合。所以,要獲取對象(不是ValueMember,而是對象本身),就可以使用下面的代碼:

obj = listBox1.Items[listBox1. SelectedIndex];

ComboBoxItems屬性返回ComboBox.ObjectCollectionComboBox組合了編輯控件和列表框。通過把一個DropDownStyle枚舉值傳送給DropDownStyle屬性,就可以設置ComboBox的樣式。表19-2列出了DropDownStyle的各個值。

 

  19-2

 

DropDown

組合框的文本部分是可以編輯的,用戶可以輸入值。用戶必須單擊箭頭按鈕,才能顯示列表

DropDownList

文本部分不能編輯。用戶必須從列表中選擇

Simple

類似於DropDown,但列表總是可見的

 

如果列表中的值比較寬,就可以使用DropDownWidth屬性改變控件下拉部分的寬度。MaxDropDownItems屬性設置在顯示列表的下拉部分時的最大項目數。

FindStringFindStringExact方法是列表控件的另外兩個有用的方法。FindString在列表中查找以傳入字符串開頭的第一個字符串。FindStringExact查找與傳入字符串匹配的第一個字符串。它們都返回找到的值的索引,如果沒有找到,就返回–1。它們還可以將要搜索的起始索引整數作爲參數。

在列表控件中,最常用的事件是SelectedIndexChangedSelectedValueChanged。這些事件是在用戶從列表中選擇新條目時發生。在列表中選擇了新條目後,就可以修改窗體的其他方面,以匹配新選中的條目。例如,使用Country列表,如果用戶從列表中選擇了一個新國家,就可以顯示該國家的地圖圖像。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章