列表框、組合框和數(shù)組.ppt_第1頁
列表框、組合框和數(shù)組.ppt_第2頁
列表框、組合框和數(shù)組.ppt_第3頁
列表框、組合框和數(shù)組.ppt_第4頁
列表框、組合框和數(shù)組.ppt_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、第8章 列表框、組合框和數(shù)組,(時間:2次課,4學(xué)時),第8章 列表框、組合框和數(shù)組,教學(xué)提示:在第5章中,介紹了單選按鈕、復(fù)選按鈕和框架并介紹了分支程序設(shè)計的基本思想。本章將繼續(xù)介紹提供用戶選擇的控件列表框和組合框。還將介紹數(shù)組的使用,在學(xué)習(xí)中要注意列表框和組合框的特殊屬性和數(shù)組的定義和使用。 教學(xué)目標(biāo):掌握用Dim語句定義數(shù)組,數(shù)組元素的輸入、輸出和引用;掌握控件數(shù)組的建立和事件過程的編寫;掌握列表框和組合框的主要屬性和使用方法。,第8章 列表框、組合框和數(shù)組,8.1 認(rèn)識列表框和組合框 8.2 列表框 8.3 組合框 8.4 數(shù)組 8.5 綜合運用,8.1 認(rèn)識列表框和組合框,列表框和組

2、合框都能提供一個項目列表,用戶可以從中選擇一項或多項。 例8.1 組隊程序 設(shè)計一個窗體,在窗體上添加一個組合框、一個列表框、兩個標(biāo)簽和4個命令按鈕。運行程序時,用戶可從后備隊員中選擇隊員。單擊【參賽】,被選中的隊員從后備隊員列表中移動到參賽隊員列表中。若從參賽隊員列表中選擇隊員后,單擊【后備】,則被選中的隊員從參賽隊員列表中移動到后備隊員列表中。若雙擊列表中某個隊員,則被雙擊的運動員同樣也會從一個列表移動到另一個列表中。若有新隊員加入,可在后備隊員文本框中輸入姓名,單擊【增加】,輸入隊員的姓名將增加到后備隊員列表中。,8.2 列表框,列表框控件在工具箱的圖標(biāo)是 。 列表框控件提供一個項目列表

3、。用戶可以從中選擇一項或多項。如果列表中的項目太多,超過列表框設(shè)計高度,列表框會自動出現(xiàn)滾動條。在列表框中,可以單列顯示。,列表框,8.2.1 列表框?qū)傩?8.2.2 列表框的事件和方法,8.2.1 列表框?qū)傩?1. Text屬性 返回列表框被選擇的列表項目,是字符串類型。在列表框中該屬性為只讀屬性,界面設(shè)計階段不能修改。 2. ListIndex屬性 設(shè)置或返回列表框被選擇的列表項的序號,是整型。在列表框中第一個列表項序號為0,第二個列表項序號為1,最后一個列表項目序號為List Count-1。,3. List Count屬性 返回列表框列表項的個數(shù),是整型。 4. List屬性 字符串?dāng)?shù)

4、組,每個元素都是列表框的一個列表項內(nèi)容。在界面設(shè)計時,利用List屬性可以輸入列表項目,在代碼中可以引用該數(shù)組。,5. Sorted屬性 確定列表項是否按升序排列,是邏輯型,通過【屬性】窗格設(shè)置。設(shè)置為True表示按升序排列列表項目,否則按增加先后次序排列。 6. MultiSelect屬性 確定是否一次可選擇多個列表項,是整型,通過【屬性】窗格設(shè)置??扇≈?、1和2,0表示每次只能選擇一項;1表示簡單多項選擇,一次可以選擇多項;2表示擴展多項選擇,按下Ctrl或Shift鍵+鼠標(biāo)單擊,一次可以選擇多項。,7. Selected屬性 在支持多項選擇中,判斷被選擇的列表項。是邏輯型數(shù)組,在設(shè)計階

5、段不可用,當(dāng)數(shù)組元素為True時,表示該項被選擇,為False時,表示該項未被選擇。 8. 名稱和其他屬性 列表框的隱含名稱是List1、List2等。和列表框位置有關(guān)的屬性有Height、Left、Top和Width;和列表框行為有關(guān)的主要屬性有Enabled、Visible、TabIndex等。另外,列表框有與Font相關(guān)的屬性,還有設(shè)置顏色的屬性。,例8.2 增加列表項 設(shè)計一個窗體,在窗體上添加一個列表框、一個文本框和兩個命令按鈕。運行程序時,在文本框中輸入內(nèi)容。單擊【增加】,程序判斷列表框的所有列表項,若沒有新輸入的內(nèi)容,則輸入的內(nèi)容增加到列表框中。一次可增加一個列表項,可增加多次。

6、單擊【退出】結(jié)束程序執(zhí)行。,例8.3 刪除多項選擇 設(shè)計一個窗體,在窗體上畫一個列表框和兩個命令按鈕,運行程序時,在列表框中按“書柜”、“衣柜”、“書桌”、“椅子”、“沙發(fā)”、“床鋪”的順序輸入列表項。一次選擇多個列表項,然后單擊【刪除】刪除選擇的所有列表項。單擊【退出】結(jié)束程序執(zhí)行。,8.2.2 列表框的事件和方法,1. 列表框的事件 列表框控接收Click事件、DblClick事件和LostFocus等事件,但大多數(shù)程序編寫DblClick事件過程。 2. 列表框的方法 列表框可以使用的方法有AddItem、RemoveItem和Clear。利用它們可以在程序運行期間修改列表框的內(nèi)容。,A

7、ddItem方法,向列表框添加一個新項目,格式是: 列表框名.AddItem 字符串,序號 其中: 列表框名是列表框的名稱 字符串是要添加到列表框中新項目,RemoveItem方法,從列表框中刪除一個項目。格式是: 列表框名.RemoveItem 序號 其中: 序號是要刪除項目的順序號,其值為整型,范圍從0到ListCount -1。 Clear方法,刪除列表框中的所有項目。格式是: 列表框名.Clear,8.3 組 合 框,組合框在工具箱的圖標(biāo)是 。 組合框控件和列表框一樣提供一個項目列表。用戶可以從中選擇一項或多項。在組合框中,有自己的文本框。 組合框是具有文本框控件與列表框控件特性的控件

8、。組合框系統(tǒng)的默認(rèn)名稱為Combo1、Combo2等。,組合框本身包含有一個文本框和一個列表框,用戶可以直接從列表框中選定項目,也可以在文本框中輸入項目。組合框有3種樣式,改變組合框的Style屬性值,可得到對應(yīng)的樣式,8.3.1 組合框?qū)傩?1. Style屬性 當(dāng)Style設(shè)置為0時(默認(rèn)樣式),是下拉式組合框。單擊右側(cè)的箭頭時打開選項列表,可從打開的列表中選擇列表項目,選擇的列表項目將顯示在文本框中。也可直接在文本框中輸入文本,在DropDown等事件過程中把文本框內(nèi)容增加到組合框中。 當(dāng)Style設(shè)置為1時,是簡單組合框。這時文本框右側(cè)無箭頭按鈕,它看起來象一個文本框和一個標(biāo)準(zhǔn)列表框的

9、結(jié)合,列表項始終顯示在列表框中。可以從列表中選擇項,也可以直接在文本框中輸入文本。 當(dāng)Style設(shè)置為2時,是下拉式列表框,它與下拉式組合框相似。單擊右側(cè)的箭頭時打開選項列表,可從打開的列表中選擇列表項目,選擇的列表項目將顯示在文本框中;通過輸入可以快速選擇文本。與下拉式組合框不同的是:它不能在文本框中輸入新的內(nèi)容。,2. Text屬性 返回列表框被選擇的列表項目,是字符串類型。在Style為0或1時可以鍵入文本。 組合框的(名稱)屬性系統(tǒng)默認(rèn)為Combo1,Combo2等。在列表框中的屬性同樣適于組合框。,8.3.2 組合框的事件和方法,組合框的Style取值不同,能響應(yīng)的事件也有差異,只有

10、簡單組合框能響應(yīng)DblClick事件,下拉式組合框和下拉式列表框能響應(yīng)DropDown,所有組合框都能響應(yīng)Click事件。 在列表框中可以使用的方法同樣適于組合框。,8.4 數(shù) 組,在VB中,數(shù)組的含義更為廣泛,它不僅象其他計算機語言一樣允許一個數(shù)組中的元素應(yīng)屬于同一種類型,也允許一個變體數(shù)組中含有不同類型的元素。為了很好管理控件的屬性,VB有些控件的屬性使用了數(shù)組。為了處理功能相近的控件,VB 還提供了控件數(shù)組。,數(shù) 組,8.4.1 控件數(shù)組 8.4.2 在程序中定義和使用數(shù)組 8.4.3 可調(diào)數(shù)組 8.4.4 可變類型數(shù)組,8.4.1 控件數(shù)組,控件數(shù)組由一組相同類型的控件組成。這些控件具

11、有相同的名稱,具有很多相同的屬性。數(shù)組中的每個控件都有唯一的索引號,即下標(biāo),下標(biāo)值由Index屬性指定,第1個控件數(shù)組元素的下標(biāo)為0,第2個控件數(shù)組元素的下標(biāo)為1等。它是創(chuàng)建控件數(shù)組時系統(tǒng)自動按順序賦給每個控件數(shù)組元素的,程序通過索引值來區(qū)別控件數(shù)組中的元素。,(1)創(chuàng)建控件數(shù)組中的第一個控件,并進行屬性設(shè)置。 (2)右擊控件數(shù)組中的第一個控件,從彈出的快捷菜單中選擇【復(fù)制】。 (3)右擊窗體,從彈出的快捷菜單中選擇【粘貼】。 (4)系統(tǒng)彈出對話框詢問“已有此控件,是否創(chuàng)建控件數(shù)組?”,單擊【是(Y)】 以后,可以進行若干次粘貼,系統(tǒng)不再詢問。,例8.4 計算器 設(shè)計一個窗體,在窗體上設(shè)計由十

12、個數(shù)字按鈕、4個運算符按鈕一個【=】按鈕和一個標(biāo)簽,模擬計算器能完成一步計算功能。,8.4.2 在程序中定義和使用數(shù)組,在計算機中數(shù)組占據(jù)一塊內(nèi)存區(qū)域,數(shù)組名是這個區(qū)域的名稱,下標(biāo)可標(biāo)識數(shù)組元素在該區(qū)域的位置。數(shù)組應(yīng)遵循先定義后使用的原則。定義數(shù)組的目的是為其留出所需空間。這一點和控件屬性中使用到的數(shù)組不同,控件屬性中用到的數(shù)組是系統(tǒng)定義的。 定義數(shù)組的一般格式: Dim 數(shù)組名(第一維說明,第二維說明 .) As 類型 第一維說明、第二維說明等分別是每個下標(biāo)的允許范圍,如: 下標(biāo)下界 To 下標(biāo)上界 也可以是每維下標(biāo)上界。在默認(rèn)情況下,數(shù)組下標(biāo)的下界為0 。,例如: Dim Labc(1 T

13、o 20) As Integer 定義一維數(shù)組Labc是整型數(shù)組,含有20個元素,從Labc (1)到Labc (20)。 Dim Names(11) As String 定義一維數(shù)組Names,Names是可以保存12個元素的數(shù)組,Names(0)是 第一個元素,Names(11)是最后一個元素,每個元素都是字符串類型。 Dim Mna(-10 To 10) As Integer 定義一維數(shù)組Mna是整型數(shù)組,含有21個元素,從Mna (-10)到Mna (10)。 Dim Kxyz%(10), Sop#(60) 定義一維數(shù)組Kxyz是整型數(shù)組,含有11個元素,從Kxyz(0)到Kxyz(1

14、0)。 定義一維數(shù)組Sop是雙精度型數(shù)組,含有61個元素,從Sop(0)到Sop (60)。 Dim Xyz(10, 10) As Single 定義二維數(shù)組Xyz是單精度型數(shù)組,含有121個元素, 從Xyz (0,0)到Xyz (10,10)。,除使用Dim語句指定下界,還可以使用Option Base 語句指定下界。 Option Base 語句格式為: Option Base 下界值 例如: Option Base 1 Dim K1(30) As Integer 定義一維數(shù)組K1是整型數(shù)組,含有30個元素,從K1(1)到k1(30),例8.5 計算平均工資 設(shè)計一個窗體,在窗體上添加兩個

15、命令按鈕。運行程序時,單擊【計算】,彈出輸入對話框,用于輸入公司每個員工的工資,當(dāng)輸入“-1”時,計算并輸出員工人數(shù)和平均工資,假定公司員工人數(shù)小于100人。 例8.6 輸出楊輝三角形 設(shè)計一個窗體,在窗體上添加兩個命令按鈕。運行程序時,單擊【輸出】,彈出輸入對話框,用于輸入要輸出楊輝三角形的行數(shù),假定要輸入的數(shù)小于11。,8.4.3 可調(diào)數(shù)組,定義數(shù)組的目的是為了預(yù)留連續(xù)的存儲空間,但有時數(shù)組的大小只有運行程序時才能確定,定義“足夠大”的數(shù)組雖然可以解決這個問題,但浪費了很多存儲空間。在例8.5中處理gz數(shù)組VB的編譯程序?qū)㈩A(yù)留了100個存儲空間,但實際可能只使用其中一部分。為此,VB 6.

16、0提供了可調(diào)數(shù)組用來解決這個問題,可調(diào)數(shù)組也稱動態(tài)數(shù)組??烧{(diào)數(shù)組的長度可以在運行程序時改變。 定義可調(diào)數(shù)組的方法是 先用Dim語句(或Private和Public),但不要指定下標(biāo)范圍。 再用ReDim語句指定數(shù)組的準(zhǔn)確尺寸。,例8.7 計算前三名職工工資 設(shè)計一個窗體,在窗體上添加兩個命令按鈕。運行程序時,單擊【計算】,彈出輸入對話框,要求輸入員工人數(shù)。以后要求輸入公司每個員工的工資,輸入結(jié)束后計算并輸出員工人數(shù)和平均工資,然后再輸出工資最高的前三名職工工資。,8.4.4 可變類型數(shù)組,當(dāng)一個數(shù)組被說明成變體類型的數(shù)組,它的每個元素也是變體類型的,因此,可以存放各種類型的數(shù)據(jù),例如: Opt

17、ion Base 1 Private Sub Form_Click() Dim an(6) For i = 1 To 3 an(i) = Name + Str(i) Next i For i = 4 To 6 an(i) = Int(Rnd * 10000) / 100 Next i For i = 1 To 3 Print an(i), an(i + 3) Next i End Sub,變體變量可以擴充為數(shù)組,用Array函數(shù)可以給變體變量賦一組數(shù),這組數(shù)的數(shù)據(jù)類型可以不同,賦值以后變體變量擴充為數(shù)組,可訪問其中的元素。例如: Option Base 1 Private Sub Form_Click() Dim an an = Array(Name 1, Name 2, Name 3, Int(Rnd * 10000) / 100, Int(Rnd * 10000) / 100, Int(Rnd * 10000) / 100) For i = 1 To 3 Print an(i), an(i + 3) Next i End Sub,8.5 綜 合 運 用,例8.8 入網(wǎng)登記 設(shè)計一個窗體,在窗體上添加3個標(biāo)簽、一個文本框、一個列表框和兩個命令按鈕。運

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論