第04章 選擇結(jié)構(gòu)程序設(shè)計(jì)_第1頁(yè)
第04章 選擇結(jié)構(gòu)程序設(shè)計(jì)_第2頁(yè)
第04章 選擇結(jié)構(gòu)程序設(shè)計(jì)_第3頁(yè)
第04章 選擇結(jié)構(gòu)程序設(shè)計(jì)_第4頁(yè)
第04章 選擇結(jié)構(gòu)程序設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩67頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第4章 選擇結(jié)構(gòu)程序設(shè)計(jì) 本章主要內(nèi)容1. 條件表達(dá)式2. 條件語(yǔ)句3. 開關(guān)語(yǔ)句4. 條件語(yǔ)句的嵌套選擇結(jié)構(gòu)常用下面兩種圖來(lái)描述圖4-1 N-S圖 圖4-2 程序流程圖 說明: 當(dāng)條件P為真(True)時(shí),執(zhí)行語(yǔ)句塊1 當(dāng)條件P為假(False)時(shí),執(zhí)行語(yǔ)句塊2條件表達(dá)式 在條件判斷語(yǔ)句中,作為判斷依據(jù)的表達(dá)式稱為條件表達(dá)式,條件表達(dá)式的取值通常為邏輯(Boolean)型。常見的條件表達(dá)式有兩類:關(guān)系表達(dá)式和邏輯表達(dá)式。關(guān)系表達(dá)式 由關(guān)系運(yùn)算符將表達(dá)式連接起來(lái)的式子稱為關(guān)系表達(dá)式,關(guān)系運(yùn)算符也稱比較運(yùn)算符,用于對(duì)兩個(gè)相同數(shù)據(jù)類型表達(dá)式值的大小進(jìn)行比較,被比較的數(shù)據(jù)是數(shù)值型、字符型、日期型,不

2、能是布爾型。 關(guān)系表達(dá)式的格式為: 注意: 1日期型數(shù)據(jù)的比較,是將其看成“yyyymmdd”形式的8位整數(shù)進(jìn)行比較。 2字符型數(shù)據(jù)的比較,是按字符的ASCII碼值逐個(gè)字符進(jìn)行比較的,在比較兩個(gè)字符串的大小時(shí),首先比較第一個(gè)字符的ASCII碼值,ASCII碼值達(dá)的字符串為大,若第一個(gè)字符相同,則比較第二個(gè),以此類推。只有在兩個(gè)字符串的所有字符都相同(長(zhǎng)度也相同)的情況下,這兩個(gè)字符串才相等。 3常見字符的排序表如下: 空格數(shù)字大寫字母小寫字母漢字 漢字字符的大小是按區(qū)位碼的大小排序,常用字與拼音順序一致,顯然”Beijing ”shanghai”,也就有“北京”“上海” 4不要對(duì)單精度或雙精度

3、的數(shù)據(jù)進(jìn)行”=”的比較,例如:sqr(2)2=2結(jié)果為:False,從數(shù)學(xué)的角度來(lái)看,它是個(gè)恒等式,但是在計(jì)算機(jī)進(jìn)行計(jì)算時(shí),sqr(2)是個(gè)近似數(shù),有很小的一點(diǎn)誤差,就造成了“不等”的結(jié)果。邏輯表達(dá)式 由邏輯運(yùn)算符將關(guān)系表達(dá)式連接起來(lái)的表達(dá)式稱為邏輯表達(dá)式,邏輯運(yùn)算符也稱布爾運(yùn)算符。常用的邏輯運(yùn)算符有:not、and、or。對(duì)于比較復(fù)雜的條件要使用邏輯表達(dá)式,例如:用邏輯表達(dá)式代替條件的嵌套會(huì)使程序的邏輯結(jié)構(gòu)更加清晰,容易理解。 邏輯表達(dá)式的格式為: 下面給出一些邏輯表達(dá)式: 1x5 and x=10 相當(dāng)于數(shù)學(xué)中的5x10 2x5 相當(dāng)于數(shù)學(xué)中的|x|5 3x0 and x mod 5=0

4、自然數(shù)中的5的倍數(shù) 4x0 and not x mod 3=0自然數(shù)中不能被3整除的數(shù) 5a,b,c能構(gòu)成三角形的條件: (a0 and b0 and c0)and(a+bc and a+cb and b+ca) 6二次方程ax2+bx+c=0存在實(shí)根的條件: a0 and b*b-4*a*c=0 7y(日期型)是10月1日: month(y)=10 and day(y)=1 8條件1:y能被4整除,但不能被100整除: t1=y mod 4=0 and y mod 1000 條件2: y能被100整除,又能被400整除: t2=y mod 100 and y mod 400=0 判斷y是否閏

5、年的條件是:t1 or t2 9條件1:5門課s1,s2,s3,s4,s5 的總分不低于450 t1=s1+s2+s3+s4+s5=450 條件2:每門課的得分都在88以上(含88分) t2=s1=88 and s2=88 and s3=88 and s4=88 and s5=88 條件3:前3門(主課)不低于90分,其他不低于80分 t3=s1=95 and s2=95 and s3=95 and s4=80 and s5=80 判斷是否優(yōu)秀學(xué)生的條件是:t1 or t2 or t3單行結(jié)構(gòu)條件語(yǔ)句和IIf函數(shù) 1單行結(jié)構(gòu)條件語(yǔ)句 單行結(jié)構(gòu)條件語(yǔ)句比較簡(jiǎn)單,其格式如下: If 條件 Then

6、 then部分 Else else部分 該語(yǔ)句的功能是:如果“條件”為True,則執(zhí)行“then部分”;否則執(zhí)行“else部分”。 說明: (1)在上面的格式中,“條件”是一個(gè)關(guān)系表達(dá)式或邏輯表達(dá)式。程序根據(jù)這個(gè)表達(dá)式的值(True或False)執(zhí)行相應(yīng)的操作?!皌hen部分”和“else部分”的操作完全相同,即: 語(yǔ)句|GoTo 行號(hào) 在這里,“語(yǔ)句”是一個(gè)或多個(gè)Visual Basic語(yǔ)句(包括If語(yǔ)句),當(dāng)含有多個(gè)語(yǔ)句時(shí),各語(yǔ)句之間用冒號(hào)隔開?!靶刑?hào)”是一個(gè)標(biāo)識(shí)符,通過GoTo語(yǔ)句把控制轉(zhuǎn)移到“行號(hào)”所在的程序行。 (2)If語(yǔ)句中的“else部分”是可選的,當(dāng)省略該項(xiàng)時(shí),If語(yǔ)句簡(jiǎn)化為

7、: If 條件 Then then部分 它的功能是:如果“條件”為True,則執(zhí)行“then部分”;否則執(zhí)行下一行程序。例如: If x=y Then Print “x=y” Print “x=y,則執(zhí)行Print “x=y”;否則執(zhí)行下面的語(yǔ)句,即Print “x=y Then Print “x=y” Else Print “x= 0 Then y = 1 + x Else y = 1 - 2 * x Print x=; x; y=; y End Sub 2IIf函數(shù) IIf函數(shù)可用來(lái)執(zhí)行簡(jiǎn)單的條件判斷操作,它是“IfThenElse”結(jié)構(gòu)的簡(jiǎn)寫版本,IIf是“Immediate If”的縮

8、略。 IIf函數(shù)的格式為: Result= IIf(條件,True部分,F(xiàn)alse部分) 在這里,“Result”是函數(shù)的返回值,“條件”是一個(gè)關(guān)系表達(dá)式。當(dāng)“條件”為真時(shí),IIf函數(shù)返回“True部分”,而當(dāng)“條件”為假時(shí)IIf函數(shù)返回“False部分”。“True部分”或“False部分”可以是表達(dá)式、變量或其它函數(shù)。注意:IIf函數(shù)中的3個(gè)參數(shù)都不能省略,而且要求“True部分”、“False部分”及結(jié)果變量的類型保持一致。 例題4.3(用IIf函數(shù)重做例4.1) 設(shè)有如下函數(shù),輸入x的值,求y的值。 Private Sub Command1_Click() Dim x As Integ

9、er, y As Integer x = Val(InputBox(輸入x的值) Print IIf(x = 0, x= & x & y= & 1 + x, x= & x & y= & 1 - 2 * x) End Sub塊結(jié)構(gòu)條件語(yǔ)句 塊結(jié)構(gòu)條件語(yǔ)句格式: If 條件 Then 語(yǔ)句塊1 條件為真時(shí),執(zhí)行語(yǔ)句塊1 Else 語(yǔ)句塊2 條件為假時(shí),執(zhí)行語(yǔ)句塊2 End If 塊結(jié)構(gòu)條件語(yǔ)句的功能是:如果“條件”為True,則執(zhí)行“語(yǔ)句塊1”;否則執(zhí)行“語(yǔ)句塊2” 說明: (1)在塊形式中,If語(yǔ)句必須是第1行語(yǔ)句。If 塊必須以End If一個(gè)語(yǔ)

10、句結(jié)束。 (2)當(dāng)程序執(zhí)行到If塊時(shí),首先測(cè)試“條件”。如果“條件”為True,則執(zhí)行Then之后的語(yǔ)句;如果條件為False,并且有Else子句,則程序會(huì)執(zhí)行Else部分的語(yǔ)句。 (3)這里的“語(yǔ)句塊”可以是一個(gè)語(yǔ)句,也可以是多個(gè)語(yǔ)句。當(dāng)有多個(gè)語(yǔ)句時(shí),可以分別寫在多行里,若寫在一行中,則各語(yǔ)句之間用冒號(hào)隔開。 (4)Else子句是可選的。 總之,與單行條件語(yǔ)句相比,塊結(jié)構(gòu)條件語(yǔ)句有很多優(yōu)點(diǎn)。例如:塊形式比單行形式提供了更好的結(jié)構(gòu)和靈活性,它允許條件分支跨越數(shù)行。同時(shí),用塊形式可以測(cè)試更復(fù)雜的條件。塊形式是程序的結(jié)構(gòu)按邏輯引導(dǎo),而不是把多個(gè)語(yǔ)句放在一行中。此外,使用塊形式的程序一般容易閱讀、維

11、護(hù)和調(diào)試。任何單行形式的條件語(yǔ)句都可以改寫成塊形式。 例4.4 重用例4-1輸入x的值,求y的值。 Private Sub Form_Click() Dim x As Single, y As Single x = Val(InputBox(輸入x的值) If x=0 then y=1+x else y=1-2*x End if Print x=; x; y=; y End Sub 例題4.5 求一個(gè)實(shí)數(shù)x的算術(shù)平方根。 Private Sub Command1_Click() Dim x As Single x = Val(InputBox(輸入x的值) If x = 0 Then Prin

12、t Sqr(; x; )=; Sqr(x) Else Print x; 沒有實(shí)數(shù)根! End If End Sub條件語(yǔ)句的嵌套 如果在條件語(yǔ)句的Then下的語(yǔ)句塊1中或在Else下的語(yǔ)句塊2中還含有條件語(yǔ)句,則稱其為條件語(yǔ)句的嵌套。在程序設(shè)計(jì)中常用凹進(jìn)的方法來(lái)表示嵌套的層次,一般格式如下所示:第一種格式: If Then If Then Else End If Else End If 第二種格式 If Then Else If Then Else End If End If 說明:實(shí)際上,在所嵌套的條件語(yǔ)句中還可以含有條件語(yǔ)句,如果在所嵌套的條件語(yǔ)句中還可以行有條件語(yǔ)句,這就構(gòu)成了條件語(yǔ)句的

13、多層嵌套,但是嵌套是有限制的。條件語(yǔ)句嵌套實(shí)例 例題4.6 從輸入框輸入一名學(xué)生的成績(jī)(100分為滿分),在消息框輸出他的成績(jī)等級(jí),90分以上為A等,8089為B,7079為C, 6069為D,60分以下為E等. 程序代碼及運(yùn)行界面: Private Sub Command1_Click() Dim grade As Single, result As String grade = Val(InputBox(請(qǐng)輸入成績(jī):, 成績(jī)輸入) If grade 100 Or grade = 90 Then result = A Else If grade = 80 Then result = B El

14、se If grade = 70 Then result = C Else If grade = 60 Then result = D Else result = E End If End If End If End If MsgBox “該生的成績(jī)等級(jí)為: + result, , 成績(jī)等級(jí) End Sub Private Sub Command2_Click() End End Sub 例題 某百貨公司為了促銷,采用購(gòu)物打折扣的優(yōu)惠辦法:每位顧客一次購(gòu)物 (1)在1000元以上者,按九五折優(yōu)惠; (2)在2000元以上者,按九折優(yōu)惠; (3)在3000元以上者,按八五折優(yōu)惠; (4)在500

15、0元以上者,按八折優(yōu)惠。 編寫程序,輸入購(gòu)物款數(shù),計(jì)算并輸出優(yōu)惠價(jià)。 (1)建立應(yīng)用程序界面:選擇“新建”工程,進(jìn)入窗體設(shè)計(jì)器,在窗體上增加1個(gè)命令按鈕控件Command1、兩個(gè)標(biāo)簽控件Label1Label2,兩個(gè)文本框控件Text1Text2。 設(shè)計(jì)界面如圖4-4所示。 (3)程序代碼如下: Private Sub Command1_Click() Dim x As Single, y As Single x = Val(Text1.Text) If x 1000 Then y = x Else If x 2000 Then y = 0.95 * x Else If x 3000 Then

16、 y = 0.9 * x Else If x 100 Or grade = 90 Then result = A ElseIf grade = 80 Then result = B ElseIf grade = 70 Then result = C ElseIf grade = 60 Then result = D Else result = E End If MsgBox 該生的成績(jī)等級(jí)為: + result, , 成績(jī)等級(jí) End Sub Private Sub Command2_Click() End End Sub多分支條件選擇語(yǔ)句結(jié)構(gòu) 在Visual Basic中,多分支結(jié)構(gòu)程序通過

17、多情況選擇語(yǔ)句來(lái)實(shí)現(xiàn)。多情況選擇語(yǔ)句也叫Select Case語(yǔ)句或Case語(yǔ)句,它根據(jù)一個(gè)表達(dá)式的值,在一組相互獨(dú)立的可選語(yǔ)句序列中挑選要執(zhí)行的語(yǔ)句序列。在多情況選擇語(yǔ)句中,有很多成分語(yǔ)句,它是塊形式條件語(yǔ)句的一種變形。 多情況選擇語(yǔ)句的一般格式為: Select Case Case Case Case Case Else End Select 多情況選擇語(yǔ)句以Select Case開頭,以End Select結(jié)束。其功能時(shí),根據(jù)“測(cè)試表達(dá)式”的值,從多個(gè)語(yǔ)句塊中選擇符合條件的一個(gè)語(yǔ)句塊執(zhí)行。說明: (1)多情況選擇語(yǔ)句中含有多個(gè)參量,這些參量的含義分別是: 1)測(cè)試表達(dá)式:可以是數(shù)值表達(dá)式

18、或字符串表達(dá)式,通常為變量或常量。 2)語(yǔ)句塊1、語(yǔ)句塊2:每個(gè)語(yǔ)句塊由一行或多行合法的Visual Basic語(yǔ)句組成。 3)表達(dá)式列表1、表達(dá)式列表2:稱為域值,可以是下列形式之一: 表達(dá)式,表達(dá)式。例如:Case 2,4,6,8 表達(dá)式 To 表達(dá)式。 例如:Case 1 To 5 Is關(guān)系運(yùn)算表達(dá)式,使用的運(yùn)算符包括: = =。 例如: Case Is=12;Case Isa+b “表達(dá)式列表”中的表達(dá)式必須與測(cè)試表達(dá)式的數(shù)據(jù)類型相同。 (2)多情況選擇語(yǔ)句的執(zhí)行過程是:先對(duì)“測(cè)試表達(dá)式”求值,然后測(cè)試該值與哪一個(gè)Case子句中的“表達(dá)式列表”相匹配。如果找到了,則執(zhí)行與該Case子句

19、有關(guān)的語(yǔ)句塊,并把控制轉(zhuǎn)移到End Select后面的語(yǔ)句;如果沒有找到,則執(zhí)行與Case Else子句有關(guān)的語(yǔ)句塊,然后把控制轉(zhuǎn)移到End Select后面的語(yǔ)句。例如: Private Sub Form_Click() Dim v As String v = InputBox(enter data) Select Case v Case a Text1.Text = a Case b Text1.Text = b Case Else Text1.Text = good bye! End Select End Sub 為了運(yùn)行上面的程序,應(yīng)先在窗體上建立一個(gè)文本框。程序運(yùn)行后,單機(jī)窗體,在輸

20、入對(duì)話框中輸入一個(gè)字符。如果輸入“a”則在文本框中顯示“a”;如果輸入“b”則在文本框中顯示“b”;輸入“a” ,“b”以外的字符,則執(zhí)行Case Else子句,在文本框中顯示“good bye!”。因此對(duì)于上面的程序來(lái)說,共有3種不同的輸出,每次運(yùn)行只能輸出一種。 (3)“表達(dá)式列表”由上面提到的3種形式,在具體使用時(shí)應(yīng)注意以下幾點(diǎn): 1)關(guān)鍵字To用來(lái)指定一個(gè)范圍。在這種情況下,必須把較小的值寫在前面,較大的值寫在后面,字符串常量的范圍必須按字母順序?qū)懗?,例如?Case -5 To -1 Case “dsrk” To” kear” 2)如果使用關(guān)鍵字Is,則只能用關(guān)系運(yùn)算符。例如: Ca

21、se Is20 and Is2,4,6,8,Is20 (4)Select Case語(yǔ)句與IfThenElse語(yǔ)句塊的功能類似。一般來(lái)說,可以使用塊形式的條件語(yǔ)句的地方,也可以使用多情況選擇語(yǔ)句。例如下面兩個(gè)程序的功能相同。 程序1: Private Sub Form_Click() Dim v As String v = InputBox(enter data) Select Case v Case 1 Text1.Text = one Case 2 Text1.Text = two Case 3 Text1.Text = three Case Else Text1.Text = must b

22、e integer from 1 to 3 End Select End Sub 程序2: Private Sub Form_Click() Dim v As String v = InputBox(enter data) If v = 1 Then Text1.Text = one ElseIf v = 2 Then Text1.Text = two ElseIf v = 3 Then Text1.Text = three Else Text1.Text = must be integer from 1 to 3 End If End Sub Select Case語(yǔ)句和塊形式的IfThen

23、Else語(yǔ)句的主要區(qū)別是:Select Case語(yǔ)句只對(duì)單個(gè)表達(dá)式求值,并根據(jù)求值結(jié)果執(zhí)行不同的語(yǔ)句塊;而塊形式的條件語(yǔ)句可以對(duì)不同的表達(dá)式求值,因而效率較高。 (5)如果同一個(gè)域值的范圍在多個(gè)Case子句中出現(xiàn),則只執(zhí)行符合條件的第一個(gè)Case子句的語(yǔ)句塊。 (6)在多情況選擇語(yǔ)句中,Case Else 必須放在所有的Case子句之后。如果在Select Case結(jié)構(gòu)中的任何一個(gè)Case子句都沒有與測(cè)試表達(dá)式相匹配的值,而且也沒有Case Else子句,則不執(zhí)行任何操作。 (7)在不同的Case子句中指定的條件和相應(yīng)的操作不能相互矛盾。例如: Select Case n Case 1 Pri

24、nt 1 Case 1 To 5 Print 2 End Select 當(dāng)n的值為1時(shí),既符合第一個(gè)Case子句中規(guī)定的條件,又符合第二個(gè)Case子句中規(guī)定的條件。在第一個(gè)Case子句中要求輸出“1”,在第二個(gè)Case子句中要求輸出“2”顯然兩者是矛盾的。這種情況下,盡管系統(tǒng)不會(huì)出現(xiàn)錯(cuò)誤,但程序中不應(yīng)該出現(xiàn)這種邏輯上的矛盾。單選按鈕、復(fù)選框和框架 在應(yīng)用程序中,有時(shí)候需要用戶做出選擇,為此,Visual Basic提供了單選按鈕、復(fù)選框和框架。框 架 框架(Frame)是一個(gè)容器控件,用于將屏幕上的對(duì)象分組??梢园巡煌膶?duì)象放在一個(gè)框架中,框架提供了視覺上的區(qū)分和總體的激活屏蔽特性。 框架的屬

25、性包括:Enabled、FontBold、FontUnderline、Height、Left、Top、Visible、Width。此外,Name屬性用于在程序代碼中標(biāo)識(shí)一個(gè)框架,而Caption屬性定義了框架的可見文字部分。 對(duì)于框架來(lái)說,通常把Enabled屬性設(shè)置為True,這樣才能保證框架內(nèi)的對(duì)象是“活動(dòng)”的。如果把框架的Enabled屬性設(shè)置為False,則其標(biāo)題將變?yōu)榛疑?,框架中的所有?duì)象,包括文本框、命令按鈕及其他對(duì)象,均被屏蔽 使用框架的主要目的是為了對(duì)控件進(jìn)行分組,即把指定的控件放在框架中。為此,使用時(shí)必然有兩種情況: 1先畫出框架,然后再在框架內(nèi)畫出需要成為一組的控件,這樣才

26、能使框架內(nèi)的控件成為一個(gè)整體,和框架一起移動(dòng)。 2有時(shí)需要將窗體上(不是框架內(nèi))的已有控件進(jìn)行分組,并把它們放到一個(gè)框架中,可按下述步驟來(lái)做: (1)選擇需要分組的控件。 (2)執(zhí)行“編輯”菜單中的“剪切”命令(或按Ctrl+X鍵), 把選擇的控件放入剪貼板中 (3)在窗體上畫一個(gè)框架控件,并保持它為活動(dòng)狀態(tài)。 (4)執(zhí)行“編輯”菜單中的“粘貼”命令(或按Ctrl+V鍵) 經(jīng)過上述操作,可把所選擇的控件放入框架,作為一個(gè)整體移動(dòng)或刪除。 為了選擇框架內(nèi)的控件,必須在框架處于非活動(dòng)狀態(tài)時(shí)按住Ctrl鍵,然后用鼠標(biāo)畫一個(gè)框,使這個(gè)框能框住要選擇的控件。 實(shí)際中,如果窗體上有多個(gè)單選按鈕時(shí),如果選擇

27、其中一個(gè),其他單選按鈕自動(dòng)關(guān)閉。但是,當(dāng)需要在同一窗體上建立幾組相互獨(dú)立的單選按鈕時(shí),則必須通過框架為單選按鈕分組,使得在一個(gè)框架內(nèi)的單選按鈕為一組,每個(gè)框架內(nèi)的單選按鈕的操作不影響其他組的按鈕。具體實(shí)例見后面單選按鈕部分。單選按鈕 在一組的多個(gè)選項(xiàng)中只允許選擇其中的某一項(xiàng)時(shí)常使用單選按鈕(OptionButton)表4-4 單選按鈕的常用屬性屬性功能值Caption設(shè)置選項(xiàng)按鈕的標(biāo)題標(biāo)題內(nèi)容字符串Alingment設(shè)置標(biāo)題位置0:默認(rèn)值,居右側(cè);1:居左側(cè)Value單選按鈕是否選中的狀態(tài)True或FalseEnabled能否對(duì)用戶事件產(chǎn)生反應(yīng)True或FalseStyle決定單選按鈕的風(fēng)格0

28、:默認(rèn)值,標(biāo)準(zhǔn); 1:圖形Picture用于為單選按鈕設(shè)置圖形當(dāng)Style屬性為1時(shí)才有效 在使用Style屬性時(shí),應(yīng)注意以下幾點(diǎn): Style屬性是只讀屬性,只能在設(shè)計(jì)時(shí)使用。 當(dāng)Style屬性為0(默認(rèn)值)時(shí),被選中的按鈕有一黑點(diǎn),其選中狀態(tài)由Value屬性決定。 (3)當(dāng)Style屬性被設(shè)置為1時(shí),可以用和屬性分別設(shè)置不同的圖標(biāo)或位圖,已表示為選定、選定和禁用。 (4)Style屬性被設(shè)置為不同的值(0或1)時(shí),其外觀也是不一樣的,當(dāng)該屬性為1時(shí),控件的外觀類似于命令按鈕,但其作用于命令按鈕是不一樣的。 (5)當(dāng)在屬性窗口設(shè)置屬性時(shí),如果一組單選按鈕中所有Value屬性均為False,則

29、運(yùn)行時(shí)程序會(huì)將第一個(gè)按鈕的狀態(tài)自動(dòng)設(shè)置為True。 2單選按鈕的常用事件與方法 常用的事件有:Click、DbClick、GotFocus、LostFocus、KeyDown、KeyUp、KeyPress、MouseDown、MouseUp、MouseMove等事件。 常用的方法有:SetFocus、Refresh方法。 3單選按鈕的應(yīng)用 例題4.12 通過單選按鈕設(shè)置文本框中的字體。 設(shè)計(jì)步驟如下: (1)建立應(yīng)用程序界面:選擇“新建”工程,進(jìn)入窗體設(shè)計(jì)器,在窗體上增加1個(gè)文本框控件Text1、1個(gè)框架控件Frame1。選中Frame1框架控件,在其中增加4個(gè)單選按鈕控件Option1Opt

30、ion4。 設(shè)計(jì)界面如圖4-6。 程序代碼如下: Private Sub Option1_Click() Text1.FontName = 宋體 End Sub Private Sub Option2_Click() Text1.FontName = 黑體 End Sub Private Sub Option3_Click() Text1.FontName = 隸書 End Sub Private Sub Option4_Click() Text1.FontName = 幼圓 End Sub復(fù)選框 復(fù)選框(Checkbox)控件,可以實(shí)現(xiàn)在一組選項(xiàng)中同時(shí)選中多個(gè)選項(xiàng),一般情況下被選中的選項(xiàng)的左

31、側(cè)的復(fù)選框中會(huì)出現(xiàn)一個(gè)對(duì)號(hào)。 1復(fù)選框的常用屬性 復(fù)選框的常用屬性與單選按鈕的類似,只是它的屬性是數(shù)值型的,可以取0,1,2,用以表示復(fù)選框的三種執(zhí)行狀態(tài):0表示為選中,1表示已選中,2也表示已選中,但現(xiàn)實(shí)灰色,用于表示用戶不可修改其狀態(tài)。 2復(fù)選框的常用事件與方法 復(fù)選框的常用事件與方法與單選按鈕的常用事件與方法基本相同。 單選按鈕和復(fù)選框都可以接收Click事件,但通常不對(duì)單選按鈕和復(fù)選框的Click事件進(jìn)行處理。當(dāng)單擊單選按鈕或復(fù)選框時(shí),將自動(dòng)變換其狀態(tài),一般不需要編寫Click事件過程。 例題4.14 設(shè)計(jì)程序?qū)崿F(xiàn)文本框內(nèi)內(nèi)容的字形的選擇。 設(shè)計(jì)步驟如下: (1)建立應(yīng)用程序界面:選擇

32、“新建”工程,進(jìn)入窗體設(shè)計(jì)器,在窗體上增加1個(gè)文本框控件Text1、1個(gè)框架控件Frame1,選中Frame1框架控件,在其中增加3個(gè)復(fù)選框控件Check1Check3。 界面設(shè)計(jì)如圖4-8。對(duì)象名屬性設(shè)置說明Text1Text字形的選擇設(shè)置文本框的內(nèi)容Frame1Caption字形的選擇設(shè)置框架的標(biāo)題Check1Caption粗體復(fù)選框的標(biāo)題Check 2Caption斜體復(fù)選框的標(biāo)題Check 3Caption下劃線復(fù)選框的標(biāo)題上述所有控件字號(hào)小四設(shè)置字的大小 源程序代碼: Private Sub Check1_Click() Text1.FontBold = True End Sub Private Sub Check2_Click() Text1.FontItalic = True End Sub Private Sub Check3_Click() Text1.FontUnderline = True End Sub 3綜合題 例題4.15 設(shè)計(jì)一個(gè)個(gè)人資料輸入窗口,使用單選按鈕輸入性別和民族,使用復(fù)選框輸入個(gè)人愛好。 設(shè)計(jì)步驟如下: (1)建立應(yīng)用程序界面。選擇“新建”工程,進(jìn)入窗體設(shè)計(jì)器,1個(gè)命令按鈕Command1和5個(gè)框架控件。依次激活框架控件Frame1Frame5后,在其中分別增加: Frame1中:標(biāo)簽Label1、文本

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論