【正文】
d1(Index).Caption 39。 Visual Basic程序設(shè)計(jì)教程 62 【 例 79】 編寫一個(gè)運(yùn)行界面如圖的程序,其中“ +‖、“ ‖、“ ‖、“ 247。使索引值 0的控件處于選中狀態(tài) = Hello! End Sub Visual Basic程序設(shè)計(jì)教程 61 Private Sub Option1_Click(Index As Integer) 39。 解決的方法是重新修改其他元素的 Index值 Visual Basic程序設(shè)計(jì)教程 60 【 例 78】 修改例 44,要求用控件數(shù)組。 如果是一批很有規(guī)律的操作,一般可以通過(guò)循環(huán)進(jìn)行。 元素的方法、事件和屬性與它的非數(shù)組同類控件一樣 但有一個(gè)重要的屬性是 Index屬性,相當(dāng)于數(shù)組下標(biāo),編程用 對(duì)于整個(gè)數(shù)組,屬性 LBound、 UBound和 Count,分別表示著整個(gè)控件數(shù)組下標(biāo)的下界、上界和元素個(gè)數(shù)。 Visual Basic程序設(shè)計(jì)教程 57 創(chuàng)建控件數(shù)組 創(chuàng)建控件數(shù)組的步驟: 首先,與創(chuàng)建其它控件一樣,創(chuàng)建第 1個(gè)控件 如果需要修改名稱,則可先在屬性窗口修改該控件名稱; 選擇該控件,使用“編輯”菜單的“復(fù)制”命令 使用“編輯”菜單的“粘貼”命令 這時(shí) VB出現(xiàn)對(duì)話框,詢問(wèn)是否建立控件數(shù)組,單擊“是” 這時(shí)新控件的 Index索引值為 1,而原控件索引值自動(dòng)為 0; 控件數(shù)組已經(jīng)產(chǎn)生 Visual Basic程序設(shè)計(jì)教程 58 把新粘貼的控件拖動(dòng)到窗體的合適位置; 若數(shù)組含有多個(gè)控件,則重復(fù)“粘貼”和調(diào)整位置操作。初始化演示標(biāo)簽框 = True : = 26 =RGB(255, 0, 0) =中文字型示例“ End Sub Visual Basic程序設(shè)計(jì)教程 56 對(duì)一批同類且功能類似的控件,可以建成控件數(shù)組 控件數(shù)組可以簡(jiǎn)化編程 控件數(shù)組中的每一個(gè)元素是同類控件,并且具有相同的名稱。定義字形表項(xiàng) 斜體 : 粗體斜體 = 隸書 : = 斜體 39。定義字號(hào)表項(xiàng) 宋體 39。初始化 Dim i As Integer For i = 6 To 26 Step 2 : i : Next i 39。通過(guò)輸入字號(hào)改字號(hào) Dim N As Integer N = Val() If N = 6 And N = 150 Then = N End Sub Private Sub Combo3_Click() 39。 主要屬性: 預(yù)覽 Name設(shè)為 lblExample, WordWrap為 True 字體、字型和字號(hào)組合框的 Style值分別設(shè)置成 2和 0 Visual Basic程序設(shè)計(jì)教程 52 Private Sub Combo1_KeyPress(KeyAscii As Integer) ?輸入字體名改字體 Dim i As Integer If KeyAscii = 13 Then For i = 0 To 1 If (i) = Then Exit For Next i If i = 1 Then = End If End Sub Private Sub Combo1_Click() 39。 控件: 6個(gè)標(biāo)簽,其中 1個(gè)用于顯示預(yù)覽效果 1個(gè)框架 3個(gè)組合框 Visual Basic程序設(shè)計(jì)教程 51 事件: Form_Load事件:添加組合框中初始項(xiàng)目等。 Visual Basic程序設(shè)計(jì)教程 50 【 例 77】 編制設(shè)置字體、字型和字號(hào)的演示程序。缺省值為 Combo1 Text:用戶輸入的文本內(nèi)容或選中的文字 Style:確定組合框性能和樣式。程序: Private Sub Command1_Click() If = 30 Then MsgBox 個(gè)數(shù)已到,不能再添加 , , 提示 Else = End If End Sub Private Sub Command2_Click() Dim i As Integer For i = 1 To 0 Step 1 If (i) Then i Next i End Sub Visual Basic程序設(shè)計(jì)教程 47 組合框( ComboBox) 組合框兼有文本框和列表框兩者的功能 它既允許用戶輸入文本,也允許在列表中選擇項(xiàng)目 1.創(chuàng)建組合框控件 創(chuàng)建組合框在工具箱內(nèi)選取列表組合框工具。 Listl的 MultiSelect:由于允許多選,設(shè)置為 2。 注意:刪除一個(gè), ListCount的值就會(huì)減 1。如果列表框中的項(xiàng)目數(shù)超過(guò)了 30,則顯示“個(gè)數(shù)已到,不能再添加”的信息。字體名放入 List1 (i) Next i End Sub Private Sub List1_Click() = End Sub Visual Basic程序設(shè)計(jì)教程 44 【 例 76】 程序運(yùn)行界面如圖。如圖。 Screen是系統(tǒng)對(duì)象,指整個(gè) Windows桌面 FontCount屬性提供了可用的字體數(shù)目 Fonts屬性數(shù)組提供了具體的字體,如 Fonts(i)為一種字體 控件: 1個(gè)標(biāo)簽和 1個(gè)列表框 事件過(guò)程: Form_Load:標(biāo)簽屬性設(shè)置, 各種字體放入列表框中; List1_Click:實(shí)現(xiàn)修改標(biāo)簽字體。 格式: 列表框?qū)ο竺Q .Clear 4.列表框控件的常用事件 Click事件 DblClick事件 Visual Basic程序設(shè)計(jì)教程 42 【 例 75】 通過(guò)選擇字體改變標(biāo)簽文字字體。 如: 2 39。將 List2中的第一條放入 List1 計(jì)算機(jī) ,2 39。 如: Hello 39。 True為升序排列 Text : 最后一次選中的選項(xiàng)的文本,該屬性不能直接修改 MultiSelect : 確定列表框是否允許多選。 Selected : 列表框某項(xiàng)的選中狀態(tài),布爾型數(shù)組。缺省值為 List1 List : 保存選項(xiàng)的字符串?dāng)?shù)組。 1.創(chuàng)建列表框控件 創(chuàng)建列表框在工具箱內(nèi)選取列表框工具。 例如通過(guò)選擇字體來(lái)改變標(biāo)簽的文字字體。 Visual Basic程序設(shè)計(jì)教程 35 列表框和組合框可解決單選框和復(fù)選框選項(xiàng)數(shù)量的限制。 例如通過(guò)選擇字體來(lái)改變標(biāo)簽的文字字體。 : S = S + X Next Print: Print S Visual Basic程序設(shè)計(jì)教程 34 列表框 ( ListBox) 列表框和組合框可解決單選框和復(fù)選框選項(xiàng)數(shù)量的限制。 例如要輸出數(shù)組 A中各元素及它們的和,可用: S = 0 For Each X In A 39。下標(biāo) Position與下標(biāo) i的數(shù)據(jù)交換 TempName = Name1(i): Name1(i) = Name1(Position) Name1(Position) = TempName TempScore = Score(i): Score(i) = Score(Position) Score(Position) = TempScore End If Next i Visual Basic程序設(shè)計(jì)教程 32 使用 For Each/Next語(yǔ)句訪問(wèn)數(shù)組 采用 For Each /Next語(yǔ)句可以遍歷數(shù)組中所有元素 格式: For Each 元素 In 數(shù)組名 循環(huán)體 Next 其中元素必須為一個(gè) Variant類型的變量 只要數(shù)組有一個(gè)元素,就會(huì)進(jìn)入循環(huán)。先假定 Score(i)就是最小值,故記錄下標(biāo) i For j = i + 1 To n If Score(Position) Score(j) Then Position=j 39。 For i = 1 To n 1 39。 改進(jìn)的選擇分類法采用: 在第 i至 n個(gè)元素中,確定最小數(shù)所在的位置 Position,即下標(biāo), 再將 a(i)與 a(Position)交換數(shù)據(jù)。輸出插入后的數(shù)據(jù) End Sub Visual Basic程序設(shè)計(jì)教程 29 使用一維數(shù)組 排序改進(jìn) 【 例 74】 改寫例 71中有關(guān)排序的程序段,使其采用改進(jìn)的選擇分類法。 /。插入 Print:For i=1 To N+1:Print ID(i)。確定要插入的位置 i If ID(i) ID1 Then Exit For Next i For j = N To i Step 1 39。: Next i 39。 Named(i)。 i amp。 i amp。 Visual Basic程序設(shè)計(jì)教程 27 使用一維數(shù)組 — 數(shù)組元素插入 Const N = 10 Private Sub Command1_Click() Dim ID(N + 1) As Long, Named(N + 1) As String Dim ID1 As Long, Name1 As String, i As Integer, j As Integer For i = 1 To N 39。 移動(dòng)位置時(shí),可以采用這樣的算法: 把 ID(10)移到 ID(11), ID(9)移到 ID(10), … ,把ID(i)移到 ID(i+1)。 Visual Basic程序設(shè)計(jì)教程 26 另一個(gè)是如何插入到數(shù)組中。 該題主要解決兩個(gè)問(wèn)題: 一個(gè)是如何找到合適的位置 可以利用循環(huán),與數(shù)組元素逐個(gè)比較 若發(fā)現(xiàn)一個(gè)比 ID1大的編號(hào) ID(i)就停止比較,則插入位置就在 ID(i)之前。 Count 39。 Score(i), Count = Count + 1 : If Count Mod 5 = 0 Then Print 39。 Average Count = 0 39。 這樣可以去掉一次并列的循環(huán)。 位成績(jī) :, )) Next i Average = 0 39。 位編號(hào) :, )) Score(i) = Val(InputBox(請(qǐng)輸入第 amp。開(kāi)始輸入 ID(i) = Val(InputBox(請(qǐng)輸入第 amp。 程序思路: 第一步,聲明兩個(gè)大小至少為 30的一維數(shù)組 ID和Score,使 ID(i)和 Score(i)表示第 i位