ListBox(列表框)控件可以顯示一組項(xiàng)目的列表,用戶可以根據(jù)需要從中選擇一個(gè)或多個(gè)選項(xiàng),。列表框可以為用戶提供所有選項(xiàng)的列表,。雖然也可設(shè)置列表框?yàn)槎嗔辛斜淼男问剑谌笔r(shí)列表框單列垂直顯示所有的選項(xiàng),,如果項(xiàng)目數(shù)目超過了列表框可顯示的數(shù)目,,控件上將自動(dòng)出現(xiàn)滾動(dòng)條。這時(shí)用戶可在列表中上,、下,、左、右滾動(dòng),。ListBox控件在工具箱中的圖標(biāo)如圖所示: 1.click和Double-click事件對(duì)于列表框的事件,,特別是當(dāng)列表框參與觸發(fā)應(yīng)用程序的某一部分功能時(shí),可以添加一個(gè)Button控件,,并把該按鈕同列表框并用,。按鈕的Click事件過程應(yīng)該使用列表框的選項(xiàng)執(zhí)行適于應(yīng)用程序的操作。雙擊列表中的項(xiàng)目與選定項(xiàng)目然后單擊按鈕,,這兩者應(yīng)該具有相同的效果,。為此,應(yīng)在ListBox控件的Double-Click過程中調(diào)用按鈕的click過程: Public Sub ListBox1_DoubleClick(ByVal sender As Object,_ ByVal e As System.EventArgs)Handles ListBox1.DoubleClick Button1_Click(sender,e)End Sub這將為使用鼠標(biāo)的用戶提供快捷方式,,同時(shí)也沒有妨礙使用鍵盤的用戶執(zhí)行同樣的操作,。注意:沒有與DoubleClick事件等價(jià)的鍵盤命令,因此無法通過快捷鍵的方式達(dá)到ListBox控件的DoubleClick功能。2.向列表框中添加項(xiàng)目為了向列表框中添加項(xiàng)目,,應(yīng)使用InsertItem方法,,其語法如下:ListboxName.InsertItem(index As integer,Item AS Object)或ListboxName.Items.Insert(index As Integer,Item As Object)其中ListboxName列表框的名稱“item”添加到列表中的字符串表達(dá)式。若“item”是文字常數(shù),,則用括號(hào)將它括起來:“index”指定在列表中插入新項(xiàng)目的位置,。“index”為0表示第一個(gè)位置。如果在列表框的第一個(gè)位置添加項(xiàng)目也可以用:ListboxName.Items.Add(Item As Object)通常在窗體設(shè)計(jì)時(shí)或New過程或InitializeComponent(該過程存在于Windows Form Designer generated code)中添加列表項(xiàng)目,,但也可在任何時(shí)候使用InsertItem方法添加項(xiàng)目,,于是可動(dòng)態(tài)(響應(yīng)用戶的操作)添加項(xiàng)目。下列代碼將“Germany”,、“India”、“France”和“USA”添加到名為ListBox1的列表框中: Public Sub New() MyBase.New Form1=Me 'This call is required by the Win Form Designer IntializeComponent ListBox1.InsertItem(0,"Germany") ListBox1.InsertItem(1,"India") ListBox1.InsertItem(2,"France") ListBox1.InsertItem(3,"USA") 'TODO:Add any initialization after the InitializeComponent() callEnd Sub注意:“InitializeComponent”中的代碼是在每次窗體設(shè)計(jì)后自動(dòng)生成的,,因此盡量一次設(shè)計(jì)好窗體,,因?yàn)槿绻貜?fù)設(shè)計(jì)窗體,以前所添加的代碼將被覆蓋掉,,所以可以把向ListBox中添加代碼編成一個(gè)過程,,"'AddItem() '過程",在"New()"或"InitializeComponent()"調(diào)用這個(gè)過程,,如下: Public Sub New() MyBase.New Form1=Me 'This call is required by the Win Form Designer Intializecomponent Call AddItem(0 'TODO:Add any initialization after the InitializeComponent() CallEnd SubPrivate Sub AddItem() ListBox1.InsertItem(0,"Germany") ListBox1.InsertItem(1,"India") ListBox1.InsertItem(2,"France") ListBox1.InsertItem(3,"USA")End Sub3.設(shè)計(jì)時(shí)添加項(xiàng)目通過設(shè)置ListBox控件屬性窗口的Items屬性還可在設(shè)計(jì)時(shí)向列表添加項(xiàng)目,,在選定了Items屬性選項(xiàng)并單擊時(shí),彈出“字符串集合編輯器”可輸入列表項(xiàng)目并按Enter鍵換行,。只能在列表末端添加項(xiàng)目,。所以,如果要將列表按字母順序排序,,則應(yīng)將Sorted屬性設(shè)置成true. 4.排序列表可以指定要按字母順序添加到列表中的項(xiàng)目,,為此將Sorted屬性設(shè)置為true并省略索引。排序時(shí)不區(qū)分大小寫,;因此單詞“japan”和“JAPAN”將被同等對(duì)待,。Sorted屬性設(shè)置為true后,InsertItem方法可能會(huì)導(dǎo)致不可預(yù)料的非排序結(jié)果,。 5.從列表中刪除項(xiàng)目從列表中刪除項(xiàng)目可用下面的語法:ListboxName.Items.Remove(Index As Integer)“Remove”有一參數(shù)“index”,,它指定刪除的項(xiàng)目;它有一個(gè)重載函數(shù):ListboxName.Items.Remove(value As Object)以適應(yīng)不同參數(shù)輸入的需要,。要?jiǎng)h除列表框中的所有項(xiàng)目,,應(yīng)使用Clear方法:Listbox1.Items.Clear()。6.通過Text屬性獲取列表內(nèi)容通常,,獲取當(dāng)前選定項(xiàng)目值的最簡單方法是使用Text屬性,。Text屬性總是對(duì)應(yīng)用戶在運(yùn)行時(shí)選定的列表項(xiàng)目。例如,下列代碼在用戶從列表框中選定Canada時(shí)顯示有關(guān)加拿大人口的信息: Public Sub Listbox1_DoubleClick(ByVal sender As object,Byval e As System.EventArgs) If Listbox1.Text="Canada" Then Textbox1.Text="Canada has 24 million people." End IfEnd SubText屬性包含當(dāng)前在Listbox1列表框中選定的項(xiàng)目,。代碼檢查是否選定了“Canada”,,若已選定,則在Text框中顯示信息,。7.用Items屬性訪問列表項(xiàng)目可用Items屬性訪問列表的全部項(xiàng)目,。此屬性包含一個(gè)數(shù)組,列表的每個(gè)項(xiàng)目都是數(shù)組的元素,。每個(gè)項(xiàng)目以字符串形式表示,。引用列表的項(xiàng)目時(shí)應(yīng)使用如下語法:ListboxName.Items(index)"ListboxName"參數(shù)是列表框的名稱,“index”是項(xiàng)目的位置,。頂端項(xiàng)目的索引為0,,接下來的項(xiàng)目索引為1,依次類推,。例如,,下列語句在一個(gè)文本框中顯示列表的第三個(gè)項(xiàng)目(index=2):Textbox1.Text=Ctr(Listbox1.Items(2))。8.用SelectedIndex屬性判斷位置如果要了解列表中已選定項(xiàng)目的位置,,則用SelectedIndex屬性,。此屬性只在運(yùn)行時(shí)可用,它設(shè)置或返回控件中當(dāng)前選定項(xiàng)目的索引,。設(shè)置列表框的SelectedIndex屬性也將觸發(fā)控件的click事件,。如果選定第一個(gè)(項(xiàng)端)項(xiàng)目,則屬性的值為0,,如果選定下一個(gè)項(xiàng)目,,則屬性的值為1,依此類推,。若未選定項(xiàng)目,,則SelectedIndex值為-1。9.使用Count屬性返回項(xiàng)目數(shù)為了返回列表框中的項(xiàng)目的數(shù)目,,應(yīng)使用Count屬性,。例如,下列語句用Count屬性判斷列表框中的項(xiàng)目數(shù):Textbox1.Text="You have"&Listbox1.Items.Count&"_entries listed" |
|