版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第5章 常用標(biāo)準(zhǔn)控件,5.1 文本框和標(biāo)簽 5.2 命令按鈕、復(fù)選框、單選按鈕和框架 5.3 列表框、組合框和滾動條 5.4 圖片框、圖像框和計時器 5.5 對象命名前綴,5.1 文本框和標(biāo)簽,程序運行中,需要通過鍵盤接收用戶輸入的信息,或把有關(guān)信息顯示在屏幕上。在Visual Basic 中,可以用文本框和標(biāo)簽實現(xiàn)接收信息和顯示信息。 本節(jié)主要介紹文本框和標(biāo)簽的特點和使用方法。文本框用于顯示可以進(jìn)行編輯的文本,標(biāo)簽用來顯示不想讓其他用戶改變的文本。文本框通常用于向計算機(jī)輸入信息,而標(biāo)簽通常用于輸出信息。,1、文本框?qū)傩?1)Text 屬性字符型 在文本框中顯示的正文內(nèi)容存放在該屬性中。當(dāng)程序
2、運行時,用戶通過鍵盤輸入的正文內(nèi)容,也保存在該屬性中。 文本框沒有Caption屬性 2)Maxlength: 數(shù)值型該屬性用于限定文本框中可以輸入的最大字符數(shù)。默認(rèn)值0表示任意長度值。,是一個文本編輯區(qū)域,可以輸入,編輯和顯示文本。,5.1.1文本框TextBox,3) MultiLine邏輯型 如果將Multiline屬性設(shè)為False,則在文本框中只能輸入單行文本,如果將Multiline屬性設(shè)為True,則可以使用多行文本,文本自動換行。默認(rèn)一行. False 4)PasswordChar屬性字符型 當(dāng)MultiLine為False時,該屬性可用于口令輸入,可以將任何輸入的字符以某個特
3、定字符顯示,例如,若希望在文本框中顯示星號,則可在【屬性窗口】中將 PasswordChar 屬性指定為 “*” 。這時,無論用戶輸入什么字符,文本框中都顯示星號。,5.1.1文本框TextBox,5)ScrollBars: 數(shù)值型 當(dāng)MultiLine為True時,該屬性才有效,可以用來在多行文本框中加入各種滾動條。 0-None:無滾動條 1-Horizontal:水平滾動條 2-Vertical垂直滾動條 3-Both水平和垂直滾動條 當(dāng)設(shè)置ScrollBars為非0 ,自動換行失效。 6)Locked:邏輯型 該屬性用來指定文本框中的內(nèi)容是否可被編輯修改。 False,表示為可編輯。
4、7) Alignment屬性 該屬性用于設(shè)置文本框中文本的對齊方式。,5.1.1文本框TextBox,8)SelStart、SelLength和SelText屬性 這三個屬性都是文本框中對文本的編輯屬性。 SelStart:確定在文本框選中文本的起始位置。 SelLength:設(shè)置或返回文本框中選定的文本字符串長度,即字符個數(shù)。 SelText:設(shè)置或返回當(dāng)前選定文本中的文本字符串。如果沒有選中的字符,那么返回值為空。 見【例5.1】,5.1.1文本框TextBox,界面設(shè)計,5.1.1文本框TextBox,【例5.1】制作一個登錄對話框,界面設(shè)計如圖所示。程序運行時,在上面的文本框內(nèi)輸入密碼
5、,如果輸入的文本與預(yù)設(shè)的密碼相同,單擊【確定】按鈕,則在另一個文本框內(nèi)顯示“密碼正確,歡迎你使用本系統(tǒng)!”,否則文本框內(nèi)顯示“密碼錯誤,請重新輸入!”,單擊【清除】按鈕,則清除文本框內(nèi)的內(nèi)容。,2. 文本框的事件 文本框除響應(yīng)鼠標(biāo)的Click和Dbclick事件外,常用的事件有: 1)Change事件 當(dāng)文本框中的內(nèi)容(Text)發(fā)生變化時激發(fā)該事件。無論是通過用戶輸入還是通過代碼改變文本框中的內(nèi)容,都會觸發(fā)該事件。 2)KeyPress(KeyAscii As Integer): 當(dāng)用戶按下并釋放鍵盤上一個ANSI鍵時,就會觸發(fā)一次該事件,并返回一個KeyAscii參數(shù)(字符的Ascii值)
6、到該事件過程中。 例如:輸入“A”,則KeyAscii的值是65??捎煤瘮?shù)Chr$(KeyAscii) 得到字符“A”。,5.1.1文本框事件,3)LostFocus事件 當(dāng)用戶按下Tab鍵時光標(biāo)離開文本框,或用鼠標(biāo)選擇其他對象時觸發(fā)該事件,稱為“失去焦點”事件,在控件失去焦點時發(fā)生。4)GotFocus事件 控件獲得焦點時發(fā)生,當(dāng)文本框具有輸入焦點時,鍵盤上輸入的每個字符都將在該文本框中顯示出來。只有當(dāng)一個文本框被激活并且可見性為True時才能接收到焦點。 3. 文本框的方法 SetFocus(設(shè)置焦點) 格式:.SetFocus 功能: 把光標(biāo)移到指定的文本框?qū)ο笾小?5.1.1文本框事件
7、,4、說明: 1)、利用SetFocus方法可以使對象獲得“焦點” 2)、用TabIndex屬性可以控制當(dāng)Tab鍵改變焦點時的移動順序 3)、可以用TabStop屬性使某個文本框輪空,界面設(shè)計,【例5.2】設(shè)計一個如圖所示的窗體,在窗體上畫兩個文本框、兩個命令按鈕和三個標(biāo)簽,程序運行時,當(dāng)在其中一個文本框中輸入英文字符時,另一個文本框會顯示相同的內(nèi)容,始終第一個文本框會顯示小寫字母,第二個文本框會顯示大寫字母。按【清除】按鈕,會清除文本框中的內(nèi)容。按【退出】按鈕,退出程序。,例5.3,Option Explicit Private Sub Form_Load() Label1.Caption
8、= End Sub Private Sub Command1_Click() Label1.Caption = Text3 = Str$(Val(Text1) + Val(Text2) End Sub Private Sub Command2_Click() Label1.Caption = Text3 = Str$(Val(Text1) - Val(Text2) End Sub Private Sub Command3_Click() 乘法 Label1.Caption = Text3 = Str$(Val(Text1) * Val(Text2) End Sub,Private Sub Co
9、mmand4_Click() Label1.Caption = Text3 = Str$(Val(Text1) / Val(Text2) End Sub Private Sub Command5_Click() 清除 Text1.Text = Text2.Text = Text3.Text = “ Label1.Caption = End Sub,例5.4 設(shè)計一個程序,當(dāng)用戶輸入大寫英文字母時,窗體顯示“輸入正確!”,否則顯示“輸入有錯誤,請使用大寫字母!”,Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii 90 Then
10、 Cls Print 輸入有錯誤,請使用大寫字母! Else Cls Print 輸入正確 End If End Sub,作業(yè)1 一個用戶身份驗證程序,Private Sub Text1_KeyPress(KeyAscii As Integer) Dim pw As String, i As Integer If KeyAscii = 13 Then 按回車鍵后進(jìn)行密碼檢驗 pw = Trim(Text1) If pw = 123456 Or pw = 198964 Or pw = 168789 Then MsgBox “你的口令正確, vbInformation + vbOKOnly, 用戶
11、身份驗證 Else i = MsgBox(口令不正確, vbYesNo + vbQuestion, 提示信息) If i 7 Then Text1.Text = Text1.SetFocus Else End End If End If End If End Sub,作業(yè)2、根據(jù)輸入的成績計算平均分,其格式為保留兩位小數(shù),用于顯示文本信息,不能作為輸入信息的界面。因為標(biāo)簽只能顯示文本,不能進(jìn)行編輯。所以,可以用標(biāo)簽為文本框、列表框和組合框等控件附加描述性信息。,1常用屬性 (1)Caption屬性 該屬性用于在標(biāo)簽中顯示文本。缺省情況下,當(dāng)文本超過控件寬度時,文本會自動換行,而當(dāng)文本超過控件高
12、度時,超出部分將被裁剪掉。,5.1.2 標(biāo)簽Label,(2) Alignment屬性 設(shè)置Caption屬性中文本的對齊方式,共有三種可選值: 0 左對齊(Left Justify); 1 右對齊(Right Justify); 2 居中對齊(Center Justify)。 (3)BackStyle屬性 該屬性用于設(shè)置標(biāo)簽背景的顯示模式。有兩種情況可選:值為0時,表示背景透明,標(biāo)簽后的背景和圖形可見;值為1時,表示不透明,標(biāo)簽后的背景和圖形不可見。 (4) BorderStyle屬性 該屬性用于設(shè)置標(biāo)簽有無邊框。,(5)AutoSize屬性 該屬性用于設(shè)置能否根據(jù)Caption屬性指定的標(biāo)
13、題內(nèi)容自動調(diào)整標(biāo)簽的大小。 如果值為True,則隨Caption內(nèi)容的大小自動調(diào)整控件本身的大小,且不換行;如果值為False,表示標(biāo)簽的尺寸不能自動調(diào)整,超出尺寸范圍的內(nèi)容不予顯示。 (6)WordWrap屬性 此屬性只能應(yīng)用于標(biāo)簽,而且只能在Autosize屬性為True的情況下使用。用于設(shè)置調(diào)整標(biāo)簽大小時的方式。 True: 文本卷繞;Label 控件垂直展開或縮短,以使其與文本和字體大小相適。水平大小不變。 False:(缺省值)文本不卷繞;Label 水平地展開或縮短以使其與文本的長度相適,并且垂直地展開或縮短以使其與字體的大小和文本的行數(shù)相適應(yīng)。,注意 AutoSize屬性為Fal
14、se,不管WordWrap屬性如何,文本總是要自動換行,若標(biāo)簽不夠高而Caption太長時,Caption將被切割掉。 AutoSize屬性為True,WordWrap屬性為False時,表示可以水平伸展,但只顯示一行信息。 如果 AutoSize 和 WordWrap 都設(shè)置為 True,標(biāo)簽會垂直伸展、文本將會自動換行,而不會增加 Label 控件的寬度,但有一種情況例外,那就是所輸入的一個單詞的長度要大于 Label 寬度。此時Label 的寬度將增加到適應(yīng)這個長單詞。,例5.5 在窗體上,放置5個標(biāo)簽,其名稱使用默認(rèn)值Label1Label5,在屬性窗口,按下表設(shè)置它們的屬性,1. 焦
15、點 焦點是指對象接收用戶鼠標(biāo)或鍵盤輸入的能力。 程序運行時,可以用下列方法使對象獲得焦點: 用SetFocus方法在代碼中設(shè)置焦點。對象名.Setfocus 用鼠標(biāo)單擊對象。 Tab鍵或Shift+Tab在當(dāng)前窗體的各對象之間巡回移動焦點。 按熱鍵選擇對象。,5.1.3 焦點與Tab鍵序,2. Tab鍵序 TabIndex屬性決定控件接收焦點的順序。當(dāng)畫出第一個控件時,該屬性值默認(rèn)為0,第二個為1,第三個為2。程序運行中按Tab鍵時,焦點將根據(jù)TabIndex屬性值所指定的焦點移動順序移動到下一個控件。 TabStop屬性決定焦點是否能夠停在該控件上。如果為假(False),則運行中按Tab鍵
16、選擇控件時,將跳過該控件,并按焦點移動順序把焦點移到下一個控件上。,5.2 命令按鈕、復(fù)選框、單選按鈕和框架,5.2.1 命令按鈕 命令按鈕可以說是所有控件中最為常見的,幾乎每個應(yīng)用程序都需要通過它同用戶進(jìn)行交互,命令按鈕通常用來在單擊時執(zhí)行指定的操作。啟動命令可以有三種方式: 1)鼠標(biāo)單擊; 2)按Tab鍵焦點跳轉(zhuǎn)到該按鈕, 再按回車鍵; 3) 快捷鍵(Alt+有下劃線的字母) 1常用屬性 (1)Caption: 命令按鈕顯示的內(nèi)容,可在某字母前加 “&“設(shè)置快捷鍵。例如: &Ok ,顯示 Ok (2)Default:當(dāng)一個命令按鈕的Default屬性被設(shè)置為True時,該按鈕為缺省活動按鈕
17、,即程序運行時按回車鍵和單擊該命令按鈕的效果相同。 注意:在一個窗體只能的一個按鈕的Default設(shè)置為True。,(3)Cancel:當(dāng)設(shè)置為True時,該按鈕為缺省取消按鈕,即 程序運行時按Esc鍵與單擊此命令按鈕的效果相同。 注意:在一個窗體只能的一個按鈕的Cancel設(shè)置為True (4)Visible: 檢查該按鈕運行時是否可見。 True,可見;False,不可見。 (5)Style : 確定顯示的形式: 0 只能顯示文字, 1 文字、圖形均可 。 (6)Picture和DownPicture :使命令按鈕具有圖形背景的兩個屬性。按鈕可顯示圖片文件(.bmp和.Ico),只有當(dāng)St
18、yle屬性值為1時有效。 DownPicture在控件被單擊并處于按下狀態(tài)時顯示的圖形。 (7)ToolTipText :設(shè)置工具提示,和Picture結(jié)合使用。,5.2.1 命令按鈕,2. 事件 能夠響應(yīng)的常用事件是Click,MouseDown,MouseUp,命令按鈕不支持DblClick雙擊事件 3. 命令按鈕的方法 命令按鈕的常用方法有:Move,SetFocus方法。 見【例】,5.2.1 命令按鈕,例5.6,Private Sub Command1_Click() If Command1.Caption = 顯 示 Then Text1.FontSize = 20 設(shè)置文本框顯示
19、文本的字符大?。ò酰?Text1.Text = 這是我的第一個VB應(yīng)用程序 Command1.Caption = 繼 續(xù) Command2.Enabled = False 讓命令按鈕Command2變?yōu)椴豢捎?Else Text1.FontSize = 26 Text1.Text = 敬 請 賜 教,謝謝! Command1.Caption = 顯 示 Command2.Enabled = True End If End Sub Private Sub Command2_Click() 同樣編寫另外事件的過程代碼 End End Sub Private Sub Form_Load() 設(shè)置命令
20、按鈕Command2初始狀態(tài)不能用 Command2.Enabled = False End Sub,例、 文本框為空時,按鈕無效,反之有效,Private Sub Text1_Change() If Text1.Text = Then 查看文本框是否為空。 Command1.Enabled = False 使按鈕無效。 Else Command1.Enabled = True 使按鈕有效。 End If End Sub,【作業(yè)3】窗體界面設(shè)計如圖所示,程序運行時,用【上】【下】【左】【右】 四個按鈕來控制實現(xiàn)窗體的移動,并且保證不移動到屏幕之外。,窗體界面,檢查框,5.2.2 復(fù)選框(檢查框
21、)checkBox,5.2.2 復(fù)選框,復(fù)選框也稱檢查框,復(fù)選框有兩種狀態(tài)可以選擇:選中(或稱“打開”,復(fù)選框中出現(xiàn)一個“”標(biāo)志),不選(或稱“關(guān)閉”,“”標(biāo)志消失)。如同一個開關(guān)一樣,每單擊一次復(fù)選框,它的狀態(tài)在“打開”與“關(guān)閉”之間來回切換,“”標(biāo)志也在有和無之間切換。 1. 復(fù)選框的屬性 復(fù)選框除了具有前面介紹過的Name,Caption,Visible,Enabled,BackColor, FontBold,F(xiàn)ontItalic,F(xiàn)ontName,F(xiàn)ontSize,F(xiàn)ontUnderline,Height,left,Top,Width等屬性外,常用的還有Value屬性 。,Value
22、復(fù)選框的Value 屬性值為數(shù)值型數(shù)據(jù),可取 0 , 1 , 2 0-Unchecked:未被選定 1-Checked:選定 2-Grayed:灰色,禁止選擇,(2) Alignment 數(shù)值型 設(shè)置復(fù)選框在標(biāo)題的左側(cè)()還是右側(cè)() (3) Style 數(shù)值型 設(shè)置復(fù)選框的外觀。Style=0,標(biāo)準(zhǔn)復(fù)選框的外觀,即在一個方框邊顯示提示信息。 Style=1,其控件類似于命令按鈕。單擊,被按下未彈起狀態(tài),再次單擊,恢復(fù)原狀。,2. 復(fù)選框的事件 復(fù)選框能夠響應(yīng)的最常用的事件是Click事件。用戶一般無需為檢查框編寫Click事件過程,但其對Value屬性值的改變遵循以下規(guī)則: 單擊未選中的檢查
23、框時, Value屬性值變?yōu)? ; 單擊已選中的檢查框時, Value屬性值變?yōu)? ; 單擊變灰的檢查框時,Value屬性值變?yōu)?。,例5.7 復(fù)選按鈕例,Private Sub Check1_Click() Text1.Font = 隸書 End Sub Private Sub Check2_Click() Text1.FontItalic = True End Sub Private Sub Check3_Click() Text1.FontSize = 20 End Sub,Private Sub Check1_Click() If Check1.Value Then Text1.Fon
24、t = 隸書 Else Text1.Font = 宋體 End Sub Private Sub Check2_Click() If Check2.Value Then Text1.FontItalic = True Else Text1.FontItalic = False End Sub Private Sub Check3_Click() If Check3.Value Then Text1.FontSize = 20 Else Text1.FontSize = 12 End Sub,【作業(yè)4】編寫程序使用復(fù)選框?qū)崿F(xiàn)對文本的字形控 制,界面設(shè)計如圖1所示。程序的執(zhí)行結(jié)果如圖2所示。,圖1
25、界面設(shè)計,圖2 執(zhí)行結(jié)果,單選按鈕,5.2.3 單選按鈕OptionButton,單選按鈕類似于復(fù)選框,但又有所不同,如果有多個復(fù)選框,可以同時選擇多個復(fù)選框,每個復(fù)選框都是獨立、互不影響的。但是在一組單選按鈕中,只能選擇其中的一個。圓圈中的小黑點表示選中,當(dāng)選中一項時,將立即清除該組中其他按鈕的選擇。,1. 單選按鈕的屬性 (1) Caption:文本標(biāo)題。設(shè)置單選鈕的文本注釋內(nèi)容。 (2) Alignment屬性: 0:Left Justify(缺省)控件鈕在左邊,標(biāo)題顯示在右邊。 1:Right Justify 控件鈕在右邊,標(biāo)題顯示在左邊。 (3)Value 屬性返回控件的狀態(tài),復(fù)選框
26、 0-Unchecked:未被選定 1-Checked:選定 2-Grayed:灰色,禁止選擇,單選按鈕 True: 單選鈕被選定 False: 單選鈕未被選定,缺省設(shè)置,單選按鈕與復(fù)選框Value 屬性的比較,(4) Style 屬性 0-Standard: 標(biāo)準(zhǔn)方式 1-Graphical:圖形方式,2. 單選按鈕的事件 單選按鈕能夠響應(yīng)的常用事件是Click事件。 見【例5.8】 例5.8 單選按鈕例,Private Sub Option1_Click() Text1.Font = 宋體 End Sub Private Sub Option2_Click() Text1.Font = 楷
27、體_GB2312 End Sub Private Sub Option3_Click() Text1.Font = 隸書 End Sub,Private Sub Form_Click() If Option1.Value Then Text1.Font = 宋體 If Option2.Value Then Text1.Font = 楷體_GB2312 If Option3.Value Then Text1.Font = 隸書 End Sub,【作業(yè)5】設(shè)計一個程序,如圖1所示的窗體,程序運行時,當(dāng)單擊某個單選按鈕后,在下面的標(biāo)簽會顯示相應(yīng)的歡迎詞,執(zhí)行結(jié)果分別見圖2和圖3。,圖1窗體界面 圖2
28、執(zhí)行結(jié)果1 圖3執(zhí)行結(jié)果2,3. 使用單選鈕組 當(dāng)需在同一窗體中建立幾組相互獨立的單選鈕時,需用框架(Frame)將每一組單選鈕框起來,這樣在一個框架內(nèi)的單選鈕為一組,它們的操作不影響框外其他組的單選鈕。,5.2.4 框架 (Frame),Frame 控件用于將窗體內(nèi)的控件進(jìn)行分組,將具有聯(lián)系的一類控件單獨分成一組放置在框架中。,框架內(nèi)控件的創(chuàng)建方法: 為了將控件分組,首先需要繪制 Frame 控件,然后繪制 Frame 里面的控件。 方法1:單擊工具箱上的工具,然后用出現(xiàn)的“+”指針,在框架中適當(dāng)位置拖拉出適當(dāng)大小的控件。 不能使用雙擊工具箱上工具的自動方式。 方法2:將控件“剪切”(Ctr
29、l+X)到剪貼板,然后選中框架,使用 (Ctrl+V)命令粘貼到框架內(nèi)。,1. 框架的屬性 框架具有前面介紹過的Name,Caption,Visible,Enabled,BackColor,F(xiàn)ontBold,F(xiàn)ontItalic,F(xiàn)ontName,F(xiàn)ontSize,F(xiàn)ontUnderline,Height,left,Top,Width等許多屬性。 1)Caption屬性:框架標(biāo)題 2)Enabled屬性:值為False時,標(biāo)題呈灰色 3)Visible屬性: True:框架及其控件可見。 False:框架及其控件被隱含起來 2.框架的事件 框架常用的事件是Click和DbClick,它不接受用
30、戶輸入,不能顯示文本和圖形,也不能與圖形相連。,3. 使用框架的注意事項: (1) 要先在窗體上繪制出框架,然后再在框架內(nèi)部繪制出其中的控件。這樣可以保證在移動框架時,其內(nèi)部的控件也會同時移動。 (2) 如果希望將窗體上已經(jīng)存在的控件放置到框架內(nèi)部,可以先將希望放置在框架內(nèi)部的控件全部選中,使用【剪切】命令將它們剪切到剪貼板上,然后再選定框架,使用【粘貼】命令將它們粘貼到框架內(nèi)部。 (3) 需要選擇框架內(nèi)部的多個控件時,必須先按住Ctrl鍵,再使用鼠標(biāo)拉出虛框?qū)⒍鄠€控件選定在范圍內(nèi),然后松開鼠標(biāo),范圍內(nèi)的多個控件即可被全部選中。 見【例5.9】,例5.9 根據(jù)選擇改變文本字體、字形和字號,Pr
31、ivate Sub cmdCancel_Click() Form_Load 調(diào)用窗體的初始化過程 End Sub Private Sub cmdOK_Click() If optSong.Value Then lblExample.FontName = optSong.Caption Else lblExample.FontName = optHei.Caption End If lblExample.FontBold = chkBold.Value lblExample.FontItalic = chkItalic.Value 設(shè)置字號 If optTen.Value Then lblExa
32、mple.FontSize = 10 Else lblExample.FontSize = 12 End If End Sub,Private Sub Form_Load() 初始化控件的缺省設(shè)置 optSong.Value = True chkBold.Value = 0 chkItalic.Value = 0 optTen.Value = True 初始化字體的缺省設(shè)置 lblExample.FontName = optSong.Caption lblExample.FontBold = chkBold.Value lblExample.FontItalic = chkItalic.Val
33、ue lblExample.FontSize = 10 End Sub,【作業(yè)6】設(shè)計一個程序,窗體界面設(shè)計如圖所示,用框架將相關(guān)的單選按鈕放在一組中,每個框架中放兩個單選按鈕,一組是用來選擇性別,一組是用來選擇民族,一組是用來選擇是否黨員。程序運行時,選擇相應(yīng)的選項,單擊【顯示】按鈕,在下面的標(biāo)簽會顯示出選擇的結(jié)果,結(jié)果如圖所示。單擊【退出】按鈕,程序退出。,圖界面設(shè)計 圖 執(zhí)行結(jié)果,5.3.1列表框 在程序設(shè)計中。有時希望能夠把較多的項目在個列表中顯示出來,從而進(jìn)行選擇操作,列表框控件為用戶提供了選項列表的功能。如果項目總數(shù)超過了可顯示的項目數(shù),Visual Basic會自動為它加上滾動條
34、。列表框有兩種風(fēng)格:標(biāo)準(zhǔn)和復(fù)選列表框。通過它的Style屬性來設(shè)置。,5.3 列表框 、組合框和滾動條,5.3.1 列表框(List Box),1. 列表框的屬性 (1)Style屬性 該屬性用于確定列表框的外觀,只能在設(shè)計時確定。在運行時是只讀的。當(dāng)Style=0為標(biāo)準(zhǔn)列表框,當(dāng)Style=1為復(fù)選列表框。(參上頁) (2)List屬性 可在設(shè)計和運行時設(shè)置 字符型數(shù)組,存放列表框的項目數(shù)據(jù),下標(biāo)是從0開始的。例如: List(0)表示第一項的內(nèi)容 (3) ListCount屬性數(shù)值型 該屬性用于計算列表框中列表項的總個數(shù)。List數(shù)組中最后一項的下標(biāo)值即為ListCount -1 。,(4
35、)ListIndex屬性數(shù)值型 該屬性用于顯示當(dāng)前選中的選項在List數(shù)組中的下標(biāo)值。下標(biāo)值從0開始,以此類推,如果當(dāng)前沒有選中任何選項,則ListIndex的值將被自動設(shè)置為-1。 (5)Columns屬性數(shù)值型 該屬性用來確定列表框的列數(shù)。此屬性值設(shè)置為0,所有項目呈單列顯示,如果該屬性大于或等于1,則列表框呈多列顯示。,(6)MultiSelect屬性數(shù)值型 用于指示是否能夠在列表框控件中進(jìn)行復(fù)選以及如何進(jìn)行復(fù)選,在運行時是只讀的。,(7)Selected屬性 該屬性返回或設(shè)置在列表框控件中某項目是否選中的狀態(tài)。該屬性是一個邏輯類型的數(shù)組,數(shù)組元素個數(shù)與列表框中的項目數(shù)相同,其下標(biāo)的變化
36、范圍與List屬性相同。選中時,值為True;未被選中,值為False。 用下面的語句可以選擇指定的列表項或取消已選擇的列表項:.Selected(索引值) = True/False 注意:“索引值”從0開始,如果是第三項,那么索引值是 2 ,如果是第十項,那么索引值是 9 ,以此類推。 例如:List1.Selected(0)=True表示列表框List1的第一個項目被選中,此時ListIndex的值設(shè)置為0。Selected屬性在設(shè)計時是不可用的,即無法在屬性窗口中設(shè)置屬性值。,(8)Text屬性字符型 該屬性用于顯示最后一次選中的選項的內(nèi)容。Text屬性的返回值總與List(ListIn
37、dex)的值相同。 (9)Sorted屬性 返回一個邏輯值,當(dāng)Sorted屬性為True時列表框控件或組合框控件的項目自動按字母數(shù)字順序(升序)排序,為False時項目按加入的先后順序排列顯示。該屬性只能在設(shè)計時設(shè)置,不能在程序代碼中設(shè)置。 (10)SelCount(選中項目數(shù)量): 只有當(dāng) MultiSelect 屬性值為1或2時,本屬性才起作用,用來讀取列表框中所選項目的數(shù)目,通常與Selected屬性一起使用,以處理控件中的所選項目。,2. 列表框事件 列表框主要接收事件為:Click、DblClick事件。 3. 列表框方法 (1) AddItem方法: 該方法用于在程序代碼中向列表框
38、中添加一個選項,只能單個地向表中添加項目。 格式為:. AddItem,索引值。 選項內(nèi)容字符串: 為字符串表達(dá)式,表示要加入的項目。 索引值:決定新增項目的位置,缺省,則添加在最后。 例如list1.AddItem “包頭”,2 插入第3項 list1.AddItem “上海” 插入末項,(2) RemoveItem方法 該方法用于刪除列表框中某個指定的項目,此方法每次只能刪除列表框中一個選項。 格式為:.RemoveItem 例如list1.RemoveItem 2 刪除第3項 list1. RemoveItem list1.listindex 刪除當(dāng)前所選項 例如,要刪除列表框(List
39、1)中所有選中的項目,可使用下面的程序段: i = 0 Do While i = List1.ListCount - 1 If List1.Selected(i) = True Then List1.RemoveItem i else i = i + 1 End If Loop,(3) Clear方法 該方法用于清除列表框中的全部內(nèi)容,而且ListCount屬性的值重新被設(shè)置為0。 格式為:.Clear 例如,要刪除列表框(List1)中所有項目,可使用: List1. Clear,【作業(yè)7】設(shè)計一個程序,用以選擇用戶喜愛的體育項目。界面設(shè)計如圖所示,其功能是:在左邊的列表框中選擇一個項目,再
40、單擊【添加】按鈕,左邊的列表框移除相應(yīng)的項目,在右邊的列表框中添加所選的內(nèi)容。在右邊的列表框中選擇一個項目,再單擊【移除】按鈕,在左邊的列表框中添加所選的內(nèi)容,在右邊的列表框中移除所選的內(nèi)容。,界面設(shè)計,【作業(yè)8 】設(shè)計一個程序,程序運行時,如圖所示窗體上有兩個列表框,左列表框(LstLeft)羅列了一些體育項目,右列表框初始狀態(tài)為空;單擊【-】按鈕,可以將左列表框中選定的項目移動到右列表框中;單擊【-】按鈕,可以將左列表框中的所有內(nèi)容移動到右列表框中。單擊【-】按鈕,可以將右列表框中的選定的項目移到左邊列表框;單擊【-】按鈕,可以將右列表框中所有的內(nèi)容移到左列表框中。,窗體界面,組合框用于將
41、文本框和列表框的功能結(jié)合在一起,既允許用戶直接輸入文本,也允許用戶通過列表進(jìn)行選擇。 組合框共三種風(fēng)格:下拉式組合框、簡單組合框和下拉式列表框。由style 屬性控制,5.3.2組合框( ComboBox),1. 組合框?qū)傩院头椒?(1) Style屬性 該屬性用于設(shè)計組合框的外表樣式。 (2) Text屬性 該屬性用于獲取組合框內(nèi)列表中的當(dāng)前選項或者文本編輯區(qū)內(nèi)的內(nèi)容??梢岳么藢傩詠砼袛嘤脩暨x擇了組合框中的哪個選項或者輸入了什么文本內(nèi)容。 2.組合框的事件 組合框響應(yīng)的事件依賴于Style屬性 當(dāng)Style=0時,響應(yīng)Click,Change,Dropdown事件; 當(dāng)Style=1時,響
42、應(yīng)Click,Change事件; (接受輸入觸發(fā)Change) 當(dāng)Style=2時,響應(yīng)Click, Dropdown事件(單擊向下箭頭觸發(fā)Dropdown) 3. 組合框方法 組合框使用的常用方法與列表框相同,用AddItem方法添加選項,用RemoveItem方法刪除一個選項,用Clear方法刪除全部選項。,4.列表框和組合框的Style屬性 該值用來指示控件的顯示類型和行為。在運行時是只讀的。列表框控件和組合框控件的Style屬性含義是不同的。,可以輸入,例5.10 組合框?qū)傩栽O(shè)置,Private Sub cmdAdd_Click() 添加功能 If Combo1.Text Then F
43、or I% = 0 To Combo1.ListCount - 1 If Combo1.Text = Combo1.List(I) Then Exit For Next I If I = Combo1.ListCount Then Combo1.AddItem Combo1.Text End If End Sub Private Sub Form_Load() 列表框初始化 Combo1.AddItem chinese Combo1.AddItem english Combo1.AddItem AutoCAD Combo1.AddItem Italin Combo1.AddItem ameri
44、can End Sub,Private Sub cmdDelete_Click() 刪除功能 If Combo1.ListIndex = 0 Then Combo1.RemoveItem Combo1.ListIndex Else For I = 0 To Combo1.ListCount - 1 If Combo1.List(I) = Combo1.Text Then Combo1.RemoveItem I End If Next I End If End Sub Private Sub Command3_Click() 清除 Combo1.Clear End Sub,例5.11 編寫個人資
45、料界面,當(dāng)點確定時在下邊的標(biāo)簽中顯示個人資料,Private Sub Command1_Click() Dim Sex As String, Hobby As String If Option1.Value = True Then Sex = Option1.Caption If Option2.Value = True Then Sex = Option2.Caption If Check1.Value = 1 Then Hobby = Hobby & & Check1.Caption If Check2.Value = 1 Then Hobby = Hobby & & Check2.Cap
46、tion If Check3.Value = 1 Then Hobby = Hobby & & Check3.Caption If Check4.Value = 1 Then Hobby = Hobby & & Check4.Caption Label4.Caption = Txtname.Text & & Sex & & Txtage .text & & Combo1.Text & 愛好: & Hobby End Sub Private Sub Form_Load() Combo1.AddItem 回族 Combo1.AddItem 漢族 Combo1.Text = 漢族 End Sub,例
47、5.12 設(shè)計一個用于設(shè)置字體屬性的程序,界面如圖所示。,Private Sub cboFontName_Click() lblExample.FontName = cboFontName.Text End Sub Private Sub cboFontSize_Change() lblExample.FontSize = Val(cboFontSize.Text) End Sub Private Sub cboFontSize_Click() lblExample.FontSize = Val(cboFontSize.Text) End Sub Private Sub cmdCancel_C
48、lick() lblExample.FontName = 宋體 lblExample.FontSize = 10 cboFontName.Text = 宋體 cboFontSize.Text = Str(10) End Sub,Private Sub cmdOK_Click() End End Sub Private Sub Form_Load() Dim i As Integer For i = 0 To Screen.FontCount - 1 cboFontName.AddItem Screen.Fonts(i) Next i For i = 8 To 30 Step 2 cboFont
49、Size.AddItem Str(i) Next i lblExample.FontName = 宋體 lblExample.FontSize = 10 cboFontName.Text = 宋體 cboFontSize.Text = Str(10) End Sub,【作業(yè)9】設(shè)計一個程序,界面設(shè)計如圖所示,在文本框下有三個組合框,左邊的組合框提供了可選的字體,中間的組合框提供了字形的設(shè)置,右邊的組合框提供了字號的設(shè)置。程序運行時,選擇組合框內(nèi)不同的選項,文本框內(nèi)的文本會有不同的顯示效果,執(zhí)行結(jié)果如圖3.31所示。,界面設(shè)計,執(zhí)行結(jié)果,5.3.3滾動條(Scroll),滾動條用于給自身不具備滾
50、動條的控件提供滾動功能。也可用作數(shù)據(jù)輸入工具,用來提供某一范圍內(nèi)的數(shù)值供用戶選擇 。 分為: 水平滾動條(HScrollbar) 垂直滾動條(VscrollBar),1. 滾動條的結(jié)構(gòu),滾動條的兩端各有一個滾動箭頭,在滾動箭頭之間有一個滾動框。滾動框從一端移至另一端時,其值在不斷變化。垂直滾動條的值由上往下遞增,水平滾動條的值由左往右遞增。其值均以整數(shù)表示,取值范圍為3276832767,最小值和最大值分別在兩個端點。,(1) Min:最小值 -32,76832,767 (2) Value 滾動框在滾動條上的當(dāng)前位置。 (3) Max:最大值 -32,76832,767 (4) SmallCh
51、ange 單擊滾動條兩端的箭頭時,Value屬性增加或減小的數(shù)值。 (5) LargeChange 用于設(shè)置當(dāng)單擊滾動條上的空白處時,滾動框向某個方向移動的的增量值。,2. 滾動條的屬性,(1) Scroll事件 該事件只在移動滾動框時被激活,單擊滾動箭頭或單擊滾動條均不能激活該事件。拖動滑塊時會觸發(fā)Scroll事件。一般可用該事件來監(jiān)測滾動框的動態(tài)變化。 (2) Change事件 該事件在移動滾動框或通過代碼改變其Value屬性值時發(fā)生。單擊滾動條兩端的箭頭或空白處將引發(fā)Change事件。一般可用該事件來獲得移動后的滾動框所在的位置值。 Scroll事件與Change事件的區(qū)別在于:當(dāng)滾動條
52、控件滾動時Scroll事件一直發(fā)生,而Change事件只是在滾動結(jié)束之后才發(fā)生一次。,3. 滾動條事件,例5.13 設(shè)計一個用于設(shè)置字體顏色的程序.,hsbRed.Min = 0 Private Sub Form_Load() 初始化設(shè)置 hsbRed.Max = 255 hsbRed.Value = 0 hsbRed.SmallChange = 1 hsbRed.LargeChange = 10 hsbGreen.Min = 0 hsbGreen.Max = 255 hsbGreen.Value = 0 hsbGreen.SmallChange = 1 hsbGreen.LargeChang
53、e = 10 hsbBlue.Min = 0 hsbBlue.Max = 255 hsbBlue.Value = 0 hsbBlue.SmallChange = 1 hsbBlue.LargeChange = 10 lblExample.ForeColor = RGB(hsbRed.Value, hsbGreen.Value, hsbBlue.Value),Private Sub hsbBlue_Change() lblExample.ForeColor = RGB(hsbRed.Value, hsbGreen.Value, hsbBlue.Value) End Sub Private Sub
54、 hsbBlue_Scroll() lblExample.ForeColor = RGB(hsbRed.Value, hsbGreen.Value, hsbBlue.Value) End Sub Private Sub hsbGreen_Change() lblExample.ForeColor = RGB(hsbRed.Value, hsbGreen.Value, hsbBlue.Value) End Sub Private Sub hsbGreen_Scroll() lblExample.ForeColor = RGB(hsbRed.Value, hsbGreen.Value, hsbBl
55、ue.Value) End Sub Private Sub hsbRed_Change() lblExample.ForeColor = RGB(hsbRed.Value, hsbGreen.Value, hsbBlue.Value) End Sub Private Sub hsbRed_Scroll() lblExample.ForeColor = RGB(hsbRed.Value, hsbGreen.Value, hsbBlue.Value) End Sub,【作業(yè)10】界面設(shè)計如圖所示,長方形的長和寬不是由用戶從鍵盤上輸入,而是通過緩慢移動滾動框或單擊滾動條的兩端箭頭以改變長和寬的數(shù)值,
56、在相應(yīng)的文本框內(nèi)顯示出數(shù)值,同時在標(biāo)簽上顯示出計算的結(jié)果,單擊按鈕,程序退出。程序執(zhí)行效果如圖所示。,界面設(shè)計,執(zhí)行結(jié)果,5.4 圖片框、圖像框和計時器,圖片框(PictureBox)和圖像框(Image)這兩種控件主要用于在窗體的指定位置顯示圖形信息。Visual Basic 6.0支持 .bmp、.ico、.wmf、.emf、.jpg和.gif等格式的圖形文件。 Visual Basic 6.0提供了一種叫計時器(Timer)的控件。計時器每隔一定的時間間隔就產(chǎn)生一次Timer事件,用戶可以根據(jù)這個特性設(shè)置時間間隔控制某些操作或用于計時。,5.4.1/2圖片框(PictureBox)和圖像
57、框(Image),圖片框使用比較靈活,一般可用于動態(tài)情況,即需要對其中加載的圖片進(jìn)行修改的情況。而圖像框一般只用于靜態(tài)的情況,即圖片不需要改變,此時使用圖像框占用的系統(tǒng)資源較少而且重新繪圖的速度比較快。 1. 圖片框、圖像框的常用屬性 (1)Picture屬性 圖片框和圖像框中顯示的圖片由Picture屬性決定。圖形文件既可以在設(shè)計階段裝入,也可以在運行期間裝入。如果在運行期間,可以用LoadPicture函數(shù)把圖形文件裝入圖片框或圖像框中。語句格式如下: .Picture=LoadPicture(”文件名”) (2)CurrentX 和 CurrentY 數(shù)值型此屬性適用于圖片框、窗體、打印
58、機(jī)。設(shè)計時不可用,在程序代碼中用于設(shè)置或返回下一次打印或繪圖方法的水平或垂直坐標(biāo)。,(3)Stretch 屬性 該屬性用于圖像框,用于調(diào)整圖像框中圖片的大小來適應(yīng)圖像框,若屬性值設(shè)置為True,則可以調(diào)整圖片大小以適應(yīng)圖像框;否則不能調(diào)整圖片大小。 (4)AutoSize屬性 該屬性用于圖片框,用來決定圖片框是否能自動調(diào)整大小來容納整個圖片。若此屬性設(shè)置為True,則自動調(diào)整圖片框大?。环駝t不自動調(diào)整大小。 2. 圖片框和圖像框的事件 圖片框可以接受的事件有:Click,Dblclick,MouseMove,MouseUp,MouseDown,KeyPress,KeyUp和KeyDown等等 圖像框能夠使用的常用事件與圖片框類似,但是不能使用KeyPress,KeyUp和KeyDown事件。,3. 圖片框的方法 (1) Cls方法 該方法用于清除圖片框內(nèi)的圖片。 格式為:.Cls (2) Circle方法 該方法用于在圖片框內(nèi)的某個位置上畫一個圓。 格式為:.Circle(,), (3)Line方法 該方法用于在圖片框內(nèi)畫一條直線。 格式為:.Line (,)-(,)。 (4) Print方法 該方法用于在圖片框中顯示一段文本
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年上海南華國際物流有限公司招聘備考題庫及答案詳解1套
- 2025年尋烏縣第三人民醫(yī)院公開招聘衛(wèi)生專業(yè)技術(shù)人員(勞動合同制)備考題庫及一套完整答案詳解
- 2026年四川九洲電器集團(tuán)有限責(zé)任公司招聘企業(yè)管理的備考題庫完整參考答案詳解
- 2025年蘭溪美食產(chǎn)業(yè)發(fā)展有限公司招聘備考題庫含答案詳解
- 2026年山南市人民醫(yī)院招聘護(hù)士8人的備考題庫及參考答案詳解1套
- 2026年三明經(jīng)濟(jì)開發(fā)區(qū)管理委員會關(guān)于直屬事業(yè)單位公開招聘專業(yè)技術(shù)人員備考題庫含答案詳解
- 2026年中國熱帶農(nóng)業(yè)科學(xué)院招聘備考題庫及答案詳解一套
- 2026年國家電投集團(tuán)山西電力有限公司招聘備考題庫及1套參考答案詳解
- 收費工作內(nèi)控制度
- ipo訴訟內(nèi)控制度
- 2026元旦主題班會:馬年猜猜樂猜成語 (共130題)【課件】
- 2026年中級經(jīng)濟(jì)師之中級經(jīng)濟(jì)師金融專業(yè)考試題庫300道含完整答案(各地真題)
- 2026年安全教育培訓(xùn)計劃
- 2025半導(dǎo)體行業(yè)薪酬報告-銳仕方達(dá)
- 2026年盤錦職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫及參考答案詳解一套
- 醫(yī)療質(zhì)量管理的風(fēng)險預(yù)警系統(tǒng)構(gòu)建策略
- 宮頸癌放化療護(hù)理查房
- (新教材)2025年人教版三年級上冊數(shù)學(xué) 第2課時 沒有括號的兩級混合運算 課件
- 2025至2030中國量子點顯示器(品牌)行業(yè)產(chǎn)業(yè)運行態(tài)勢及投資規(guī)劃深度研究報告
- 石材掛靠資質(zhì)協(xié)議書
- 路基注漿施工技術(shù)規(guī)范
評論
0/150
提交評論