資源描述:
《第十一章 列表框、組合框和滾動條》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、第十一章列表框、組合框和滾動條本章內(nèi)容及要求:掌握常用控件ListBox和ComboBox控件的列表項目的添加、刪除、選擇和使用學(xué)會HScrollBar和VScrollBar控件。本章重點:常用控件列表框、組合框和滾動條的常用屬性、重要事件和方法的使用;本章難點:常用系統(tǒng)對象的使用。11.1列表框和組合框控件列表框控件(ListBox)用于顯示項目列表,用戶可從中選擇一個或多個項目。如果項目總數(shù)超過了可顯示的項目數(shù),VB會自動加上滾動條。列表框有兩種風(fēng)格:標(biāo)準(zhǔn)和復(fù)選列表框。通過它的Style屬性來設(shè)置組合框控件(ComboBox)將文本框和列表框的功能結(jié)合在一起,用戶可以在列表中選擇某項(
2、只能選取一項)。或在編輯區(qū)域中直接輸入文本內(nèi)容來選定項目。組合框共三種風(fēng)格:下拉式組合框、簡單組合框和下拉式列表框。二、主要屬性1.List、ListCount和ListIndex屬性這3個屬性只能在程序代碼中設(shè)置:List:字符型數(shù)組存放列表框的項目數(shù)據(jù),下標(biāo)是從0開始的。例如:List(0)表示第一項(Listindex=0)的內(nèi)容ListIndex:整型值選中的項目的序號,沒有項目選中時為-1。ListCount:整型值表示項目的數(shù)量,ListCount-1是最后一項的下標(biāo)。2.Style屬性該值用來指示控件的顯示類型和行為。在運行時是只讀的。列表框控件或組合框控件的Style屬性含
3、義是不同的。3.MultiSelect屬性用于指示是否能夠在列表框控件中進(jìn)行復(fù)選以及如何進(jìn)行復(fù)選,在運行時是只讀的。注意,組合框控件無此屬性。MultiSelect屬性設(shè)置值及含義設(shè)置值含義0(缺省值)不允許復(fù)選1簡單復(fù)選。鼠標(biāo)單擊或按下空格鍵在列表中選中或取消選中項。箭頭鍵移動焦點2擴展復(fù)選。按下SHIFT并單擊鼠標(biāo)將在以前選中項的基礎(chǔ)上擴展選擇到當(dāng)前選中項。按下CTRL并單擊鼠標(biāo)來在列表中選中或取消選中項4.Selected屬性該屬性返回或設(shè)置列表框控件中的一個項目的選擇狀態(tài)。該屬性是一個邏輯類型的數(shù)組,數(shù)組元素個數(shù)與列表框中的項目數(shù)相同,其下標(biāo)的變化范圍與List屬性相同。例如:Li
4、st1.Selected(0)=True表示列表框List1的第一個項目被選中,此時ListIndex的值設(shè)置為0。Selected屬性在設(shè)計時是不可用的,即無法在屬性窗口中設(shè)置屬性值。5.NewIndex屬性返回最近加入列表框控件或組合框控件的項目的索引。如果在列表中已沒有項目或刪除了一個項目,該屬性將返回-1。6.TopIndex屬性返回或設(shè)置一個值,該值指定哪個項被顯示在列表框控件或組合框控件頂部的位置。該屬性取值范圍從0到ListCount-1,在設(shè)計時不可用。7.Sorted屬性返回一個邏輯值,當(dāng)Sorted屬性為True時列表框控件或組合框控件的項目自動按字母表順序(升序)排序
5、,為False時項目按加入的先后順序排列顯示。該屬性只能在設(shè)計時設(shè)置,不能在程序代碼中設(shè)置。8.Text屬性對于下拉式組合框與簡單組合框,Text屬性返回編輯區(qū)域中的文本。對于列表框控件或下拉列表框,Text屬性的返回值總與List(ListIndex)的值相同方法1.AddItem方法用于將項目添加到列表框控件或組合框控件。語法格式:〈對象名〉.AddItemitem[,index]其中:item:為字符串表達(dá)式,表示要加入的項目。Index:決定新增項目的位置,缺省,則添加在最后。2.RemoveItem方法用于從列表框控件或組合框控件中刪除一項。語法格式:〈對象名〉.RemoveIt
6、emindex對index參數(shù)的規(guī)定同AddItem方法。例如,要刪除列表框(List1)中所有選中的項目,可使用下面的程序段:i=0DoWhilei<=List1.ListCount-1IfList1.Selected(i)=TrueThenList1.RemoveItemielsei=i+1EndIfLoop思考:是否可以用For循環(huán)?3.Clear方法用于清除列表框控件或組合框控件中的所有項目。〈對象名〉.Clear例如,要刪除列表框(List1)中所有項目,可使用:List1.Clear4、事件(1)Click事件當(dāng)單擊某一列表項目時,將觸發(fā)列表框與組合框控件的Click事件。該事
7、件發(fā)生時系統(tǒng)會自動改變列表框與組合框控件的ListIndex、Selected、Text等屬性,無需另行編寫代碼。(2)DblClick事件當(dāng)雙擊某一列表項目時,將觸發(fā)列表框與簡單組合框控件的DblClick事件。(3)Change事件當(dāng)用戶通過鍵盤輸入改變下拉式組合框或簡單組合框控件的文本框部分的正文,或者通過代碼改變了Text屬性的設(shè)置時,將觸發(fā)其Change事件。設(shè)計一個用于設(shè)置字體屬性的程序,界面如圖所示。11-