




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第第4章章 選擇結(jié)構(gòu)程序設(shè)計(jì)選擇結(jié)構(gòu)程序設(shè)計(jì) 4.1 條件表達(dá)式條件表達(dá)式 1 關(guān)系運(yùn)算符與關(guān)系表達(dá)式關(guān)系運(yùn)算符與關(guān)系表達(dá)式 比較兩個(gè)運(yùn)算量之間的關(guān)系,關(guān)系表達(dá)式的運(yùn)算結(jié)果為邏輯比較兩個(gè)運(yùn)算量之間的關(guān)系,關(guān)系表達(dá)式的運(yùn)算結(jié)果為邏輯量。若關(guān)系成立,結(jié)果為量。若關(guān)系成立,結(jié)果為True,若關(guān)系不成立,結(jié)果為,若關(guān)系不成立,結(jié)果為False。VB中的關(guān)系運(yùn)算符如下表所示。中的關(guān)系運(yùn)算符如下表所示。 運(yùn)算符含義優(yōu)先級(jí)實(shí)例結(jié)果小于所有關(guān)系運(yùn)算所有關(guān)系運(yùn)算優(yōu)先級(jí)相同。優(yōu)先級(jí)相同。低于算術(shù)運(yùn)算低于算術(shù)運(yùn)算的加的加“+”,減,減“-”運(yùn)算,高運(yùn)算,高于邏輯非于邏輯非“Not運(yùn)算。運(yùn)算。15+1020False
2、=小于或等于10大于1020False=大于或等于This= ThatTrue=等于This= ThatFalse不等于This ThatTrueLike字符串匹配This Like *isTrueIs對(duì)象比較 關(guān)系運(yùn)算的規(guī)則如下:關(guān)系運(yùn)算的規(guī)則如下: (1當(dāng)兩個(gè)操作式均為數(shù)值型,按數(shù)值大小比較。當(dāng)兩個(gè)操作式均為數(shù)值型,按數(shù)值大小比較。 (2字符串比較字符串比較,則按字符的則按字符的ASCII碼值從左到右一一比較碼值從左到右一一比較,直到出現(xiàn)不同的字符為止直到出現(xiàn)不同的字符為止.。 例:例: ABCDE ABRA 結(jié)果為結(jié)果為 False (3數(shù)值型與可轉(zhuǎn)換為數(shù)值型的數(shù)據(jù)比較,數(shù)值型與可轉(zhuǎn)換為
3、數(shù)值型的數(shù)據(jù)比較, 如:如:29189 ,按數(shù)值比較,結(jié)果為,按數(shù)值比較,結(jié)果為False。(4數(shù)值型與不能轉(zhuǎn)換成數(shù)值型的字符型比較,數(shù)值型與不能轉(zhuǎn)換成數(shù)值型的字符型比較, 如:如:77 sdcd ,不能比較,系統(tǒng)出錯(cuò)。,不能比較,系統(tǒng)出錯(cuò)。(5)“Like運(yùn)算符是運(yùn)算符是VB6.0新增加的。新增加的。 其使用格式為:其使用格式為:str1 Like str22 邏輯運(yùn)算符與邏輯表達(dá)式邏輯運(yùn)算符與邏輯表達(dá)式 邏輯運(yùn)算符:邏輯運(yùn)算符:Not,And,Or Xor說說 明:明: (1邏輯運(yùn)算符的優(yōu)先級(jí)不相同,邏輯運(yùn)算符的優(yōu)先級(jí)不相同,Not邏輯非最高,邏輯非最高,但它低于關(guān)系運(yùn)算。但它低于關(guān)系運(yùn)算
4、。 (2VB中常用的邏輯運(yùn)算符是中常用的邏輯運(yùn)算符是Not、And和和Or。它們用。它們用于將多個(gè)關(guān)系表達(dá)式進(jìn)行邏輯判斷。于將多個(gè)關(guān)系表達(dá)式進(jìn)行邏輯判斷。例如:例如: 數(shù)學(xué)上表示某個(gè)數(shù)在某個(gè)區(qū)域時(shí)用表達(dá)式:數(shù)學(xué)上表示某個(gè)數(shù)在某個(gè)區(qū)域時(shí)用表達(dá)式: 10X=10 And X20 如果寫成如下形式將是錯(cuò)誤的:如果寫成如下形式將是錯(cuò)誤的: 10=x20 或或 10=x Or x字符串運(yùn)算符字符串運(yùn)算符-關(guān)系運(yùn)算符關(guān)系運(yùn)算符-布爾運(yùn)算符布爾運(yùn)算符【例【例4-1】設(shè)變量】設(shè)變量x = 4,y = 1,a = 7.5,b = 6.2,求表達(dá),求表達(dá)式式x + y a + b And Not y 1.3 An
5、d Not y b (2) 再作關(guān)系運(yùn)算:再作關(guān)系運(yùn)算: True And Not False (3) 作非運(yùn)算:作非運(yùn)算: True And True (4) 最后得:最后得: True【例【例4-2】判斷某個(gè)年份是閏年的根據(jù)是年份數(shù)滿足下述條】判斷某個(gè)年份是閏年的根據(jù)是年份數(shù)滿足下述條件之一。件之一。 (1) 能被能被4整除,但不能被整除,但不能被100整除的年份都是閏年。整除的年份都是閏年。 (2) 能被能被100整除,又能被整除,又能被400整除的年份都是閏年。整除的年份都是閏年。 設(shè)變量設(shè)變量y表示年份,寫出判斷表示年份,寫出判斷y是否閏年的布爾表達(dá)式。是否閏年的布爾表達(dá)式。 解:判
6、斷解:判斷y是否滿足條件是否滿足條件(1)的布爾表達(dá)式是的布爾表達(dá)式是y Mod 4 = 0 And y Mod 100 0 判斷判斷y是否滿足條件是否滿足條件(2)的布爾表達(dá)式是的布爾表達(dá)式是y Mod 100 = 0 And y Mod 400 = 0 兩者取兩者取“或或”,即得判斷閏年的布爾表達(dá)式,即得判斷閏年的布爾表達(dá)式y(tǒng) Mod 4 = 0 And y Mod 100 0 Or y Mod 100 = 0 And y Mod 400 = 0 4.3單條件選擇語句單條件選擇語句IF 1. 單行結(jié)構(gòu)條件語句IFTHENELSE If條件Then 語句序列1 Else語句序列2【例4-3】
7、輸入x,計(jì)算y的值。其中:)0(21)0(1xxxxy 設(shè)計(jì)步驟如下: (1) 建立應(yīng)用程序用戶界面與設(shè)置對(duì)象屬性。 (2) 編寫程序代碼。寫出命令按鈕Command1的單擊Click事件代碼為Private Sub Command1_Click() Dim x As Single, y As Single x = Val(Text1.Text) If x = 0 Then y = 1 + x Else y = 1 2 * x Text2.Text = yEnd Sub【例【例4-4】學(xué)校對(duì)學(xué)習(xí)成績優(yōu)良的學(xué)生進(jìn)行獎(jiǎng)勵(lì),獲獎(jiǎng)的條件】學(xué)校對(duì)學(xué)習(xí)成績優(yōu)良的學(xué)生進(jìn)行獎(jiǎng)勵(lì),獲獎(jiǎng)的條件如下:如下: (1)
8、 所考所考5門課的總分超過門課的總分超過450分。分。 (2) 每門課的成績都在每門課的成績都在88分以上。分以上。 (3) 前前3門主課的成績都在門主課的成績都在95分以上,其他兩門非主課分以上,其他兩門非主課的成績都在的成績都在80分以上。分以上。 輸入某學(xué)生輸入某學(xué)生5門課的成績門課的成績s1、s2、s3、s4、s5,判斷他是否能,判斷他是否能夠獲獎(jiǎng)。夠獲獎(jiǎng)。設(shè)計(jì)步驟如下:設(shè)計(jì)步驟如下: (1) 建立應(yīng)用程序用戶界面與設(shè)置對(duì)象屬性。建立應(yīng)用程序用戶界面與設(shè)置對(duì)象屬性。 (2) 編寫程序代碼。編寫程序代碼。圖圖4-5 判斷能否獲獎(jiǎng)判斷能否獲獎(jiǎng)可以寫出命令按鈕可以寫出命令按鈕Command1
9、的單擊的單擊Click事件代碼為:事件代碼為:Private Sub Command1_Click() Dim s1 As Single, s2 As Single, s3 As Single, s4 As Single, s5 As Single Dim p As String s1 = Val(InputBox(請(qǐng)輸入第請(qǐng)輸入第1門課的成績:門課的成績:, 輸入框輸入框, 0) s2 = Val(InputBox(請(qǐng)輸入第請(qǐng)輸入第2門課的成績:門課的成績:, 輸入框輸入框, 0) s3 = Val(InputBox(請(qǐng)輸入第請(qǐng)輸入第3門課的成績:門課的成績:, 輸入框輸入框, 0)s4 =
10、 Val(InputBox(請(qǐng)輸入第請(qǐng)輸入第4門課的成績:門課的成績:, 輸入框輸入框, 0) s5 = Val(InputBox(請(qǐng)輸入第請(qǐng)輸入第5門課的成績:門課的成績:, 輸入框輸入框, 0) t1 = (s1 + s2 + s3 + s4 + s5 = 450) t2 = (s1 = 88 And s2 = 88 And s3 = 88 And s4 = 88 And s5 = 88) t3 = (s1 = 95 And s2 = 95 And s3 = 95 And s4 = 80 And s5 = 80) If t1 Or t2 Or t3 Then p = 可以獲獎(jiǎng)可以獲獎(jiǎng)! E
11、lse p = 不能獲不能獲獎(jiǎng)獎(jiǎng)! p = Str(s1) & , & Str(s2) & , & Str(s3) & , & Str(s4) & , & Str(s5) & Chr(13) & p Label1.Caption = 該生五門課的成績分別是:該生五門課的成績分別是: & Chr(13) & pEnd Sub【例4-5】利用輸入框函數(shù)輸入3個(gè)不同的數(shù),選出其中最大的數(shù)。設(shè)計(jì)步驟如下: (1) 建立應(yīng)用程序用戶界面與設(shè)置對(duì)象屬性。 (2) 編寫程序代碼。可以寫出命令按鈕可以寫出命令按鈕C
12、ommand1的單擊的單擊Click事件代碼為事件代碼為Private Sub Command1_Click() Dim a As Single, b As Single, c As Single a = Val(InputBox(請(qǐng)輸入第請(qǐng)輸入第1個(gè)數(shù):個(gè)數(shù):, 輸入框輸入框, 0) b = Val(InputBox(請(qǐng)輸入第請(qǐng)輸入第2個(gè)數(shù):個(gè)數(shù):, 輸入框輸入框, 0) c = Val(InputBox(請(qǐng)輸入第請(qǐng)輸入第3個(gè)數(shù):個(gè)數(shù):, 輸入框輸入框, 0) p = & a & , & b & , & c p = p & 三個(gè)數(shù)中最大的數(shù)是:
13、三個(gè)數(shù)中最大的數(shù)是: If a b And a c Then p = p & a If b a And b c Then p = p & b If c a And c b Then p = p & c Label1.Caption = pEnd Sub2 使用使用IIF函數(shù)函數(shù) I I f 函 數(shù) 可 用 來 執(zhí) 行 簡 單 的 條 件 判 斷 操 作 , 它 相 當(dāng) 于函 數(shù) 可 用 來 執(zhí) 行 簡 單 的 條 件 判 斷 操 作 , 它 相 當(dāng) 于IFThen.Else結(jié)構(gòu)。結(jié)構(gòu)。 IIf函數(shù)的語法結(jié)構(gòu)為函數(shù)的語法結(jié)構(gòu)為 IIf(條件表達(dá)式,表達(dá)式條件表達(dá)式,表達(dá)式
14、1,表達(dá)式,表達(dá)式2)闡明:闡明: (1)與與IF語句中的表達(dá)式相同,通常是關(guān)系表語句中的表達(dá)式相同,通常是關(guān)系表達(dá)式、邏輯表達(dá)式,也可為算術(shù)表達(dá)式。如果是算術(shù)表達(dá)式,達(dá)式、邏輯表達(dá)式,也可為算術(shù)表達(dá)式。如果是算術(shù)表達(dá)式,其值按非其值按非0為為True,0為為False進(jìn)行判斷。進(jìn)行判斷。 (2當(dāng)當(dāng)為真時(shí),函數(shù)返回為真時(shí),函數(shù)返回的值,當(dāng)?shù)闹担?dāng)為假時(shí),函數(shù)返回為假時(shí),函數(shù)返回的值。的值。 (3)、可以是任何表達(dá)式。可以是任何表達(dá)式。【例【例4-6】例】例4-3中命令按鈕中命令按鈕Command1的單擊的單擊Click事件代碼可以改為事件代碼可以改為Private Sub Command1_C
15、lick() Dim x As Single, y As Single x = Val(Text1.Text) y = IIf(x = 0, 1 + x, 1 2 * x) Text2.Text = yEnd Sub 3. 塊結(jié)構(gòu)條件語句塊結(jié)構(gòu)條件語句IFTHENELSEEND IF 其語法結(jié)構(gòu)為其語法結(jié)構(gòu)為If條件條件1Then 語句列語句列1Else 語句列語句列2End If【例【例4-7】將例】將例4-3中命令按鈕中命令按鈕Command1的單擊的單擊Click事件代碼改為多行事件代碼改為多行If語句:語句:Private Sub Command1_Click() Dim x As S
16、ingle, y As Single x = Val(Text1.Text) If x = 0 Then y = 1 + x Else y = 1 2 * x End If Text2.Text = yEnd Sub4. IF語句的嵌套語句的嵌套 1)IF語句的嵌套【例4-8】鐵路托運(yùn)行李,從甲地到乙地,規(guī)定每張客票托運(yùn)費(fèi)計(jì)算方法是行李重量不超過50kg時(shí),0.25元/kg,超過50kg而不超過100kg時(shí),其超過部分按0.35元/kg收費(fèi),超過100kg時(shí),其超過部分按0.45元/kg收費(fèi)。編寫程序,輸入行李重量,計(jì)算并輸出托運(yùn)的費(fèi)用。設(shè)計(jì)步驟如下: (1) 建立應(yīng)用程序用戶界面與設(shè)置對(duì)象屬
17、性。圖4-9 計(jì)算托運(yùn)費(fèi)(2) 編寫程序代碼。編寫程序代碼。 可以寫出命令按鈕可以寫出命令按鈕Command1的單擊的單擊Click事件代碼事件代碼為為 Private Sub Command1_Click() Dim w As Single, x As Single w = Val(Text1.Text) If w = 50 Then x = 0.25 * w Else If w = 100 Then x = 0.25 * 50 + 0.35 * (w 50) Else x = 0.25 * 50 + 0.35 * 50 + 0.45 * (w 100) End If End If Text
18、2.Text = xEnd Sub可以將上例中命令按鈕Command1的單擊Click事件代碼改為:Private Sub Command1_Click() Dim w As Single, x As Single w = Val(Text1.Text) x = IIf(w = 50, 0.25 * w, 0.25 * 50 + IIf(w = 100, 0.35 * (w 50), 0.35 * 50 + 0.45 * (w 100) Text2.Text = xEnd Sub【例4-9】某百貨公司為了促銷,采用購物打折扣的優(yōu)惠辦法:每位顧客一次購物 (1) 在1000元以上者,按九五折優(yōu)惠
19、; (2) 在2000元以上者,按九折優(yōu)惠; (3) 在3000元以上者,按八五折優(yōu)惠; (4) 在5000元以上者,按八折優(yōu)惠。 設(shè)計(jì)步驟如下: (1) 建立應(yīng)用程序用戶界面與設(shè)置對(duì)象屬性。 (2) 編寫程序代碼。可以寫出命令按鈕Command1的單擊Click事件代碼為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 ElseIf x 3000 Then y = 0.9 * x
20、Else If x 5000 Then y = 0.85 * x Else y = 0.08 * x End If End If End If End If Text2.Text = yEnd Sub2) IF語句的嵌套格式ELSEIF 其語法結(jié)構(gòu)為If條件1Then 語句列1ElseIf條件2Then 語句列2 .Else 其他語句列End If【例4-10】在例4-9中使用帶ElseIf的塊If語句來計(jì)算出優(yōu)惠價(jià),只需將其中命令按鈕Command1的單擊Click事件代碼改為Private Sub Command1_Click() Dim x As Single, y As Single
21、x = Val(Text1.Text) If x 1000 Then y = x ElseIf x 2000 Then y = 0.95 * x ElseIf x 3000 Then y = 0.9 * x ElseIf x 5000 Then y = 0.85 * x Else y = 0.08 * x End If Text2.Text = yEnd Sub 4.4 多分支條件選擇語句多分支條件選擇語句SELECT CASE SELECT CASE結(jié)構(gòu)與語法結(jié)構(gòu)與語法語句的語法格式為語句的語法格式為:Select Case 變量或表達(dá)式變量或表達(dá)式 Case 表達(dá)式列表表達(dá)式列表1 語句塊
22、語句塊1 Case 表達(dá)式列表表達(dá)式列表2 語句塊語句塊2 Case Else 語句塊語句塊n+1End Select數(shù)值型或字符串表達(dá)式闡明:闡明: :與:與同類型的下面同類型的下面四種形式之一:四種形式之一: 表達(dá)式表達(dá)式 如如: A +5 一組枚舉表達(dá)式一組枚舉表達(dá)式(用逗號(hào)分隔用逗號(hào)分隔) 如如: 2, 4, 6, 8 表達(dá)式表達(dá)式1 To 表達(dá)式表達(dá)式2如如: 60 to 100 Is 關(guān)系運(yùn)算符表達(dá)式關(guān)系運(yùn)算符表達(dá)式 如如; Is 602. SELECT CASE結(jié)構(gòu)的應(yīng)用 【例4-11】在例4-9中使用Select Case語句來計(jì)算優(yōu)惠價(jià),只需將其中命令按鈕Command1的單
23、擊Click事件代碼改為Private Sub Command1_Click() Dim x As Single, y As Single x = Val(Text1.Text) Select Case x Case Is 1000 y = x Case Is 2000 y = 0.95 * xCase Is 3000 y = 0.9 * x Case Is 5000 y = 0.85 * x Case Else y = 0.8 * x End Select Text2.Text = yEnd Sub【例【例4-12】某航空公司規(guī)定在旅游的旺季】某航空公司規(guī)定在旅游的旺季79月份,如果月份,如
24、果訂票數(shù)超過訂票數(shù)超過20張,票價(jià)優(yōu)惠張,票價(jià)優(yōu)惠15%,20張以下,優(yōu)惠張以下,優(yōu)惠5%;在旅游的淡季在旅游的淡季15月份、月份、10月份、月份、11月份,如果訂票數(shù)超月份,如果訂票數(shù)超過過20張,票價(jià)優(yōu)惠張,票價(jià)優(yōu)惠30%,20張以下,優(yōu)惠張以下,優(yōu)惠20%;其他情況;其他情況一律優(yōu)惠一律優(yōu)惠10%。 設(shè)計(jì)程序,根據(jù)月份和訂票張數(shù)決定票價(jià)的優(yōu)惠率。設(shè)計(jì)程序,根據(jù)月份和訂票張數(shù)決定票價(jià)的優(yōu)惠率。 設(shè)計(jì)步驟如下:設(shè)計(jì)步驟如下: (1) 建立應(yīng)用程序用戶界面與設(shè)置對(duì)象屬性。建立應(yīng)用程序用戶界面與設(shè)置對(duì)象屬性。(2) 編寫程序代碼。 根據(jù)流程圖,可以寫出命令按鈕Command1的單擊Click事件
25、代碼為:Private Sub Command1_Click() Dim m As Integer, n As Integer, r As Integer m = Val(Text1.Text) n = Val(Text2.Text) Select Case m Case Is = 5, 10, 11 If n 20 Then r = 20 Else r = 30Case 7 To 9 If n 0 And Text1.Text 0 Then Command1.SetFocus End IfEnd Sub4.5使用計(jì)時(shí)器控件使用計(jì)時(shí)器控件 1.用途用途計(jì)時(shí)器控件計(jì)時(shí)器控件Timer又稱時(shí)鐘、定
26、時(shí)器控件,用于有規(guī)律地定又稱時(shí)鐘、定時(shí)器控件,用于有規(guī)律地定時(shí)執(zhí)行指定的工作,常常用于編寫不需要與用戶進(jìn)行交互就可時(shí)執(zhí)行指定的工作,常常用于編寫不需要與用戶進(jìn)行交互就可直接執(zhí)行的代碼,如計(jì)時(shí)、倒計(jì)時(shí)、動(dòng)畫等。在程序運(yùn)行階段,直接執(zhí)行的代碼,如計(jì)時(shí)、倒計(jì)時(shí)、動(dòng)畫等。在程序運(yùn)行階段,時(shí)鐘控件不可見。時(shí)鐘控件不可見。2 屬屬 性性(1Interval屬性屬性取值范圍在取值范圍在0 64767 ,單位:為毫秒,單位:為毫秒0.001秒),表示計(jì)時(shí)間秒),表示計(jì)時(shí)間隔。若將隔。若將Interval屬性設(shè)置為屬性設(shè)置為0或負(fù)數(shù),則計(jì)時(shí)器停止工作。缺或負(fù)數(shù),則計(jì)時(shí)器停止工作。缺省設(shè)置為省設(shè)置為 0(2Ena
27、bled屬性屬性 設(shè)置為設(shè)置為True,而且,而且Interval屬性值大于屬性值大于0,則計(jì)時(shí)器開始工以,則計(jì)時(shí)器開始工以Interval屬性值為間隔,觸發(fā)屬性值為間隔,觸發(fā)Timer事件)。事件)。設(shè)置為設(shè)置為False可使時(shí)鐘控件無效,即計(jì)時(shí)器停止工作。缺省設(shè)置可使時(shí)鐘控件無效,即計(jì)時(shí)器停止工作。缺省設(shè)置為為True3 方方 法法 Timer控件沒有方法。控件沒有方法。4 事事 件件 時(shí)鐘控件只有時(shí)鐘控件只有Timer事件事件 當(dāng)當(dāng)Enabled屬性值為屬性值為True且且Interval屬性值大于屬性值大于0時(shí),時(shí), 該事該事件以件以Interval屬性指定的時(shí)間間隔發(fā)生屬性指定的時(shí)間
28、間隔發(fā)生 常常將需要定時(shí)執(zhí)行的操作放在常常將需要定時(shí)執(zhí)行的操作放在Timer事件過程中事件過程中計(jì)時(shí)器控件計(jì)時(shí)器控件 應(yīng)用舉例應(yīng)用舉例1. 設(shè)計(jì)一個(gè)電子表設(shè)計(jì)一個(gè)電子表 【例4-13】在窗體上設(shè)計(jì)一個(gè)數(shù)字時(shí)鐘,如圖4-15所示。 圖4-16 建立界面與設(shè)置屬性 圖4-15 數(shù)字時(shí)鐘 設(shè)計(jì)步驟如下: (1) 建立應(yīng)用程序用戶界面。 (2) 設(shè)置對(duì)象屬性, (3) 編寫程序代碼。 編寫計(jì)時(shí)器控件Timer1的Timer事件代碼:Private Sub Timer1_Timer() Label1.Caption = Format(Time, Form1.Tag) Label2.Caption = I
29、If(Hour(Time) 12, 下午, 上午)End Sub編寫命令按鈕Command1的Click事件代碼:Private Sub Command1_Click() If Command1.Caption = 改為12小時(shí) Then Form1.Tag = hh:mm:ss AM/PM Command1.Caption = 改為24小時(shí) Label2.Visible = True Else Form1.Tag = hh:mm:ss Command1.Caption = 改為12小時(shí) Label2.Visible = False End IfEnd Sub 2.設(shè)計(jì)一個(gè)計(jì)時(shí)器 【例4-14
30、】一個(gè)簡單計(jì)時(shí)器。如圖4-17所示。 圖4-17 簡單計(jì)時(shí)器 圖4-18 計(jì)時(shí)器的設(shè)計(jì)設(shè)計(jì)步驟如下: (1) 建立應(yīng)用程序用戶界面與設(shè)置對(duì)象屬性。 (2) 編寫程序代碼。 編寫Command1開場(chǎng)的Click事件代碼:Private Sub Command1_Click()If Command1.Caption = &S 暫停 Then Command1.Caption = &C 繼續(xù) Timer1.Enabled = False Else Command1.Caption = &S 暫停 If Label1.Caption = 00:00:00:0 Then Form
31、1.Tag = Timer Timer1.Enabled = True End IfEnd Sub編寫Command2重置的Click事件代碼:Private Sub Command2_Click() Form1.Tag = TimerLabel1.Caption = 00:00:00:0End Sub 編寫Timer1的Timer事件代碼:Private Sub Timer1_Timer() m = Timer Form1.Tag n0 = (m * 10) Mod 10 m = Int(m) n1 = Format(m Mod 60, 00.) n2 = Format(m 60) Mod
32、60, 00:) n3 = Format(m 3600, 00:) Label1.Caption = n3 & n2 & n1 & n0End Sub3.設(shè)計(jì)一個(gè)流動(dòng)字幕板【例4-15】為一個(gè)應(yīng)用系統(tǒng)設(shè)計(jì)流動(dòng)字幕板,如圖4-19所示,標(biāo)題“欲窮千里目,更上一層樓在窗體中自右至左地反復(fù)移動(dòng)。 圖4-19 電子標(biāo)題板 圖4-20 用戶界面的設(shè)計(jì)設(shè)計(jì)步驟如下: (1) 建立應(yīng)用程序用戶界面與設(shè)置對(duì)象屬性 (2) 編寫程序代碼。 編寫命令按鈕Command1的Click事件代碼:Private Sub Command1_Click() If Command1.Caption =
33、 &S 暫停 Then Command1.Caption = &C 繼續(xù) Timer1.Enabled = FalseElse Command1.Caption = &S 暫停 Timer1.Enabled = True End IfEnd Sub編寫Timer1的Timer事件代碼:Private Sub Timer1_Timer() If Label1.Left + Label1.Width 0 Then Label1.Move Label1.Left 20 Else Label1.Left = Form1.ScaleWidth End IfEnd Sub4.6 提
34、供簡單選擇的控件提供簡單選擇的控件 4.6.1選項(xiàng)按鈕選項(xiàng)按鈕 1 用途用途 單選鈕單選鈕OptionButton也稱作選擇按鈕。一組單選鈕控也稱作選擇按鈕。一組單選鈕控件可以提供一組彼此相互排斥的選項(xiàng),任何時(shí)刻用戶只能從中件可以提供一組彼此相互排斥的選項(xiàng),任何時(shí)刻用戶只能從中選擇一個(gè)選項(xiàng),實(shí)現(xiàn)一種選擇一個(gè)選項(xiàng),實(shí)現(xiàn)一種“單項(xiàng)選擇的功能,被選中項(xiàng)目左單項(xiàng)選擇的功能,被選中項(xiàng)目左側(cè)圓圈中會(huì)出現(xiàn)一黑點(diǎn)。側(cè)圓圈中會(huì)出現(xiàn)一黑點(diǎn)。2. 重要屬性重要屬性(1) Caption:文本標(biāo)題。設(shè)置單選鈕的文本注釋內(nèi)容。:文本標(biāo)題。設(shè)置單選鈕的文本注釋內(nèi)容。(2) Alignment屬性:屬性: 0:Left J
35、ustify(缺省設(shè)置缺省設(shè)置)控件鈕在左邊,標(biāo)題顯示在右邊。控件鈕在左邊,標(biāo)題顯示在右邊。 1:Right Justify 控件鈕在右邊,標(biāo)題顯示在左邊。控件鈕在右邊,標(biāo)題顯示在左邊。(3Value 屬性屬性 True: 單選鈕被選定單選鈕被選定 False: 單選鈕未被選定缺省設(shè)置)單選鈕未被選定缺省設(shè)置) (4) Style 屬性屬性 0-Standard: 標(biāo)準(zhǔn)方式標(biāo)準(zhǔn)方式 1-Graphical:圖形方式:圖形方式3 方法方法 SetFocus方法是單選鈕控件最常用的方法,可以在代碼中方法是單選鈕控件最常用的方法,可以在代碼中 通過該方法將通過該方法將Value屬性設(shè)置為屬性設(shè)置為T
36、rue。 與命令按鈕相同,使用該方法之前,必須要保證單選鈕處與命令按鈕相同,使用該方法之前,必須要保證單選鈕處 于可見和可用狀態(tài)即于可見和可用狀態(tài)即Visible與與Enabled屬性值均屬性值均True)。)。4 事件事件 Click事件是單選鈕控件最基本的事件,一般情況用戶無事件是單選鈕控件最基本的事件,一般情況用戶無 需為單選鈕編寫需為單選鈕編寫Click事件過程,因?yàn)楫?dāng)用戶單擊單選鈕事件過程,因?yàn)楫?dāng)用戶單擊單選鈕 時(shí),它會(huì)自動(dòng)改變狀態(tài)。時(shí),它會(huì)自動(dòng)改變狀態(tài)。選項(xiàng)按鈕組應(yīng)用舉例選項(xiàng)按鈕組應(yīng)用舉例【例【例4-16】在例】在例4-13中使用選項(xiàng)按鈕組來選擇時(shí)間的格式中使用選項(xiàng)按鈕組來選擇時(shí)間
37、的格式編寫新增控件的事件代碼。編寫新增控件的事件代碼。 編寫選項(xiàng)按鈕編寫選項(xiàng)按鈕Option1的的Click事件代碼:事件代碼:Private Sub Option1_Click() Form1.Tag = hh:mm:ss AM/PM Label2.Visible = TrueEnd Sub 編寫選項(xiàng)按鈕編寫選項(xiàng)按鈕Option2的的Click事件代碼:事件代碼:Private Sub Option2_Click() Form1.Tag = hh:mm:ss Label2.Visible = FalseEnd Sub例例4-17】設(shè)銀行定期存款年利率為:】設(shè)銀行定期存款年利率為:1年期年期2
38、.25%,2年期年期2.43%,3年期年期2.70%,5年期年期2.88%(不計(jì)復(fù)利)。今有本(不計(jì)復(fù)利)。今有本金金a元,元,5年以后使用,共有以下年以后使用,共有以下6種存法:種存法:l 存一次存一次5年期。年期。l 存一次存一次3年期,一次年期,一次2年期。年期。l 存一次存一次3年期,兩次年期,兩次1年期。年期。l 存兩次存兩次2年期,一次年期,一次1年期。年期。l 存一次存一次2年期,三次年期,三次1年期。年期。l 存五次存五次1年期。年期。 分別計(jì)算各種存法分別計(jì)算各種存法5年后到期時(shí)的本息合計(jì)年后到期時(shí)的本息合計(jì) 編寫命令按鈕Command1的單擊Click事件代碼:Privat
39、e Sub Command1_Click() Dim a As Single, y As Single Dim x1 As Single, x2 As Single Dim x3 As Single, x5 As Single a = Val(Text1.Text) x1 = 0.0225: x2 = 0.0243 x3 = 0.027: x5 = 0.0288 Select Case True Case Option1.Value y = (1 + 5 * x5) * aCase Option2.Value y = (1 + 3 * x3) * (1 + 2 * x2) * a Case O
40、ption3.Value y = (1 + 3 * x3) * (1 + x1) 2 * a Case Option4.Value y = (1 + 2 * x2) 2 * (1 + x1) * a Case Option5.Value y = (1 + 2 * x2) * (1 + x1) 3 * a Case Option6.Value y = (1 + x1) 5 * a End SelectText2.Text = y Text1.SetFocusEnd Sub 編寫文本框編寫文本框Text1的的GotFocus事件代碼:事件代碼:Private Sub Text1_GotFocus(
41、) Text1.SelStart = 0 Text1.SelLength = Len(Text1.Text)End Sub圖形選項(xiàng)按鈕應(yīng)用舉例圖形選項(xiàng)按鈕應(yīng)用舉例將選項(xiàng)按鈕設(shè)計(jì)成圖形按鈕的形式將選項(xiàng)按鈕設(shè)計(jì)成圖形按鈕的形式【例【例4-18】用圖形選項(xiàng)按鈕組控制流動(dòng)字幕中的字體,】用圖形選項(xiàng)按鈕組控制流動(dòng)字幕中的字體,如圖如圖4-23所示。所示。 設(shè)計(jì)步驟如下:設(shè)計(jì)步驟如下: (1) 建立應(yīng)用程序用戶界面與設(shè)置對(duì)象屬性。建立應(yīng)用程序用戶界面與設(shè)置對(duì)象屬性。 (2) 編寫程序代碼。編寫程序代碼。 依次編寫選項(xiàng)按鈕依次編寫選項(xiàng)按鈕Option1Option4的的Click事件代碼:事件代碼:Priv
42、ate Sub Option1_Click()Text1.FontName = 宋體End SubPrivate Sub Option2_Click() Text1.FontName = 隸書End SubPrivate Sub Option3_Click() Text1.FontName = 黑體End SubPrivate Sub Option4_Click() Text1.FontName = 楷體_GB2312End Sub4.6.2 復(fù)選框復(fù)選框 1 用途用途 復(fù)選框復(fù)選框CheckBox也稱作檢查框、選擇也稱作檢查框、選擇框。一組復(fù)選框控件可以提供多個(gè)選項(xiàng),它框。一組復(fù)選框控件可以
43、提供多個(gè)選項(xiàng),它們彼此獨(dú)立工作,所以用戶可以同時(shí)選擇任們彼此獨(dú)立工作,所以用戶可以同時(shí)選擇任意多個(gè)選項(xiàng),實(shí)現(xiàn)一種意多個(gè)選項(xiàng),實(shí)現(xiàn)一種“不定項(xiàng)選擇的功不定項(xiàng)選擇的功能。選擇某一選項(xiàng)后,該控件將顯示能。選擇某一選項(xiàng)后,該控件將顯示,而,而清除此選項(xiàng)后,清除此選項(xiàng)后,消逝。消逝。檢查框被選中2. 重要屬性重要屬性 Caption、Alignment、Style與單選鈕相同與單選鈕相同復(fù)選框的復(fù)選框的Value 屬性與單選按鈕不同,其值為數(shù)值型數(shù)據(jù),屬性與單選按鈕不同,其值為數(shù)值型數(shù)據(jù),可取可取0,1,2復(fù)選框與單選按鈕復(fù)選框與單選按鈕Value 屬性的比較屬性的比較 檢查框檢查框0-Unchecke
44、d0-Unchecked:未被選定:未被選定1-Checked1-Checked:選定:選定2-Grayed2-Grayed:灰色,禁止選擇:灰色,禁止選擇 單選鈕單選鈕True: True: 單選鈕被選定單選鈕被選定False: False: 單選鈕未被選定,缺省設(shè)單選鈕未被選定,缺省設(shè)置置4 事件事件 Click事件是檢查框控件最基本的事件。用戶一般無事件是檢查框控件最基本的事件。用戶一般無需為檢查框編寫需為檢查框編寫Click事件過程,但其對(duì)事件過程,但其對(duì)Value屬性值的屬性值的改變遵循以下規(guī)則:改變遵循以下規(guī)則: 單擊未選中的檢查框時(shí),單擊未選中的檢查框時(shí),Value屬性值變?yōu)閷傩?/p>
45、值變?yōu)?; 單擊已選中的檢查框時(shí),單擊已選中的檢查框時(shí),Value屬性值變?yōu)閷傩灾底優(yōu)?; 單擊變灰的檢查框時(shí),單擊變灰的檢查框時(shí),Value屬性值變?yōu)閷傩灾底優(yōu)?。復(fù)選框應(yīng)用舉例復(fù)選框應(yīng)用舉例1. 使用單個(gè)復(fù)選框使用單個(gè)復(fù)選框【例【例4-19】在上例中,增加復(fù)選框,控制選項(xiàng)按鈕組的顯示。】在上例中,增加復(fù)選框,控制選項(xiàng)按鈕組的顯示。增加復(fù)選框控件增加復(fù)選框控件Check1的的Click事件代碼:事件代碼:Private Sub Check1_Click() Option1.Visible = Check1.Value Option2.Visible = Check1.Value Option
46、3.Visible = Check1.Value Option4.Visible = Check1.ValueEnd Sub2. 使用多個(gè)復(fù)選框使用多個(gè)復(fù)選框 【例4-20】設(shè)計(jì)一個(gè)個(gè)人資料輸入窗口,使用選項(xiàng)按鈕組輸入性別與民族,使用復(fù)選框輸入個(gè)人愛好,如圖4-25所示。. 圖4-25 使用多個(gè)復(fù)選框 圖4-26 建立用戶界面 設(shè)計(jì)步驟如下:設(shè)計(jì)步驟如下: (1) 建立應(yīng)用程序用戶界面。建立應(yīng)用程序用戶界面。 (2) 設(shè)置對(duì)象屬性。設(shè)置對(duì)象屬性。 (3) 編寫程序代碼。編寫程序代碼。 編寫命令按鈕編寫命令按鈕Command1的的Click事件代碼:事件代碼:Private Sub Comman
47、d1_Click() If Text1.Text = Then a = InputBox(您忘了輸入姓名!您忘了輸入姓名!, 留意留意, 請(qǐng)?jiān)诖溯斎胄照?qǐng)?jiān)诖溯斎胄彰? If a = Or a = 請(qǐng)?jiān)诖溯斎胄彰?qǐng)?jiān)诖溯斎胄彰?Then Exit Sub Text1.Text = a End Ifp1 = Text1.Text + , p2 = IIf(Option1, 男, 女) + , p3 = IIf(Option3, 漢族, 少數(shù)民族) p4 = ,喜歡: If Check1.Value = 1 Then p4 = p4 + Check1.Caption + 、 If Check2.V
48、alue = 1 Then p4 = p4 + Check2.Caption + 、 If Check3.Value = 1 Then p4 = p4 + Check3.Caption + 、 If Check4.Value = 1 Then p4 = p4 + Check4.Caption + 、 aa = p1 + p2 + p3 + IIf(p4 = ,喜歡:, ,無愛好。, p4) Label4.Caption = Left(aa, Len(aa) 1) + 。 Text1.SetFocusEnd Sub 編寫文本框Text1的Change事件代碼:Private Sub Text1_
49、Change() Label4.Caption = End Sub3. 復(fù)選框的圖形方式復(fù)選框的圖形方式【例【例4-21】利用圖形復(fù)選框來控制文本的字體風(fēng)格,如圖】利用圖形復(fù)選框來控制文本的字體風(fēng)格,如圖4-27所示。所示。 設(shè)計(jì)步驟如下: (1) 建立應(yīng)用程序用戶界面。 (2) 設(shè)置對(duì)象屬性。 (3) 編寫代碼。 復(fù)選框控件Check1的Click事件代碼:Private Sub Check1_Click() Check2.Enabled = Check1.Value Check3.Enabled = Check1.Value Check4.Enabled = Check1.Value Check1.Caption = IIf(Check4.Caption
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年 安康旬陽市直教育單位教師遴選考試試題附答案
- 2025年中國影視廣告市場(chǎng)運(yùn)行態(tài)勢(shì)報(bào)告
- 中國無人機(jī)航測(cè)行業(yè)調(diào)查報(bào)告
- 中國化纖原料行業(yè)市場(chǎng)調(diào)查報(bào)告
- 多功能料理機(jī)項(xiàng)目投資可行性研究分析報(bào)告(2024-2030版)
- 2025年中國藻藍(lán)蛋白行業(yè)市場(chǎng)運(yùn)行現(xiàn)狀及投資戰(zhàn)略研究報(bào)告
- 2025年中國鮮脆榨菜芯行業(yè)市場(chǎng)發(fā)展前景及發(fā)展趨勢(shì)與投資戰(zhàn)略研究報(bào)告
- 中國海水養(yǎng)殖行業(yè)市場(chǎng)前景預(yù)測(cè)及投資戰(zhàn)略研究報(bào)告
- 中國福建燃?xì)庑袠I(yè)調(diào)查報(bào)告
- 二氯二甲海因中間體行業(yè)深度研究分析報(bào)告(2024-2030版)
- 時(shí)間序列論文
- 山東 房屋建筑和市政基礎(chǔ)設(shè)施項(xiàng)目工程總承包合同(示范文本)
- 各級(jí)文物保護(hù)單位保護(hù)范圍、建控地帶標(biāo)準(zhǔn)和依據(jù)
- 工廠產(chǎn)品出入庫統(tǒng)計(jì)明細(xì)表范本
- 中醫(yī)學(xué)基礎(chǔ)--奇恒之腑共23張課件
- AC-10C瀝青混合料配合比設(shè)計(jì)檢驗(yàn)報(bào)告
- CNC機(jī)加工作業(yè)指導(dǎo)書
- HALCON編程基礎(chǔ)與工程應(yīng)用全書ppt課件匯總(完整版)
- 冀教版小學(xué)美術(shù)六年級(jí)下冊(cè)教案
- 《一級(jí)學(xué)科下屬專業(yè)證明模板》
- Stein-膀胱癌淋巴清掃資料課件
評(píng)論
0/150
提交評(píng)論