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

下載本文檔

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

文檔簡介

會計(jì)學(xué)1第4章選擇結(jié)構(gòu)程序設(shè)計(jì)2邏輯運(yùn)算符與邏輯表達(dá)式邏輯運(yùn)算符:Not,And,OrXor第1頁/共68頁說明:(1)邏輯運(yùn)算符的優(yōu)先級不相同,Not(邏輯非)最高,但它低于關(guān)系運(yùn)算。(2)VB中常用的邏輯運(yùn)算符是Not、And和Or。它們用于將多個關(guān)系表達(dá)式進(jìn)行邏輯判斷。例如:數(shù)學(xué)上表示某個數(shù)在某個區(qū)域時用表達(dá)式:10≤X<20

用VB程序中應(yīng)寫成:X>=10AndX<20

如果寫成如下形式將是錯誤的:

10<=x<20或

10<=xOrx<20第2頁/共68頁3運(yùn)算符的優(yōu)先順序

算術(shù)運(yùn)算符--->字符串運(yùn)算符---關(guān)系運(yùn)算符--布爾運(yùn)算符【例4-1】設(shè)變量x=4,y=–1,a=7.5,b=–6.2,求表達(dá)式x+y>a+bAndNoty<b的值。分析:將按下面步驟計(jì)算:

(1)先作算術(shù)運(yùn)算:3>–1.3AndNoty<b(2)再作關(guān)系運(yùn)算:TrueAndNotFalse(3)作非運(yùn)算:TrueAndTrue(4)最后得:True第3頁/共68頁【例4-2】判斷某個年份是閏年的根據(jù)是年份數(shù)滿足下述條件之一。

(1)能被4整除,但不能被100整除的年份都是閏年。

(2)能被100整除,又能被400整除的年份都是閏年。設(shè)變量y表示年份,寫出判斷y是否閏年的布爾表達(dá)式。解:判斷y是否滿足條件(1)的布爾表達(dá)式是yMod4=0AndyMod100<>0

判斷y是否滿足條件(2)的布爾表達(dá)式是yMod100=0AndyMod400=0

兩者取“或”,即得判斷閏年的布爾表達(dá)式y(tǒng)Mod4=0AndyMod100<>0OryMod100=0AndyMod400=0第4頁/共68頁4.3單條件選擇語句IF

1.單行結(jié)構(gòu)條件語句IF…THEN…ELSEIf〈條件〉Then[〈語句序列1〉][Else〈語句序列2〉]【例4-3】輸入x,計(jì)算y的值。其中:第5頁/共68頁

設(shè)計(jì)步驟如下:

(1)建立應(yīng)用程序用戶界面與設(shè)置對象屬性。

(2)編寫程序代碼。寫出命令按鈕Command1的單擊(Click)事件代碼為PrivateSubCommand1_Click()DimxAsSingle,yAsSinglex=Val(Text1.Text)Ifx>=0Theny=1+xElsey=1–2*xText2.Text=yEndSub第6頁/共68頁【例4-4】學(xué)校對學(xué)習(xí)成績優(yōu)良的學(xué)生進(jìn)行獎勵,獲獎的條件如下:

(1)所考5門課的總分超過450分。

(2)每門課的成績都在88分以上。

(3)前3門(主課)的成績都在95分以上,其他兩門(非主課)的成績都在80分以上。輸入某學(xué)生5門課的成績s1、s2、s3、s4、s5,判斷他是否能夠獲獎。設(shè)計(jì)步驟如下:

(1)建立應(yīng)用程序用戶界面與設(shè)置對象屬性。

(2)編寫程序代碼。第7頁/共68頁圖4-5判斷能否獲獎可以寫出命令按鈕Command1的單擊(Click)事件代碼為:PrivateSubCommand1_Click()Dims1AsSingle,s2AsSingle,s3AsSingle,s4AsSingle,s5AsSingleDimpAsStrings1=Val(InputBox("請輸入第1門課的成績:","輸入框",0))s2=Val(InputBox("請輸入第2門課的成績:","輸入框",0))s3=Val(InputBox("請輸入第3門課的成績:","輸入框",0))第8頁/共68頁s4=Val(InputBox("請輸入第4門課的成績:","輸入框",0))s5=Val(InputBox("請輸入第5門課的成績:","輸入框",0))t1=(s1+s2+s3+s4+s5>=450)t2=(s1>=88Ands2>=88Ands3>=88Ands4>=88Ands5>=88)t3=(s1>=95Ands2>=95Ands3>=95Ands4>=80Ands5>=80)Ift1Ort2Ort3Thenp="可以獲獎!"Elsep="不能獲獎!"p=Str(s1)&","&Str(s2)&","&Str(s3)&","&Str(s4)&","&Str(s5)&Chr(13)&pLabel1.Caption="該生五門課的成績分別是:"&Chr(13)&pEndSub第9頁/共68頁【例4-5】利用輸入框函數(shù)輸入3個不同的數(shù),選出其中最大的數(shù)。設(shè)計(jì)步驟如下:

(1)建立應(yīng)用程序用戶界面與設(shè)置對象屬性。

(2)編寫程序代碼。第10頁/共68頁可以寫出命令按鈕Command1的單擊(Click)事件代碼為PrivateSubCommand1_Click()DimaAsSingle,bAsSingle,cAsSinglea=Val(InputBox("請輸入第1個數(shù):","輸入框",0))b=Val(InputBox("請輸入第2個數(shù):","輸入框",0))c=Val(InputBox("請輸入第3個數(shù):","輸入框",0))p=""&a&","&b&","&cp=p&"三個數(shù)中最大的數(shù)是:"Ifa>bAnda>cThenp=p&aIfb>aAndb>cThenp=p&bIfc>aAndc>bThenp=p&cLabel1.Caption=pEndSub第11頁/共68頁2使用IIF函數(shù)IIf函數(shù)可用來執(zhí)行簡單的條件判斷操作,它相當(dāng)于IF…Then….Else結(jié)構(gòu)。

IIf函數(shù)的語法結(jié)構(gòu)為

IIf(〈條件表達(dá)式〉,〈表達(dá)式1〉,〈表達(dá)式2〉)說明:(1)<條件表達(dá)式>與IF語句中的表達(dá)式相同,通常是關(guān)系表達(dá)式、邏輯表達(dá)式,也可為算術(shù)表達(dá)式。如果是算術(shù)表達(dá)式,其值按非0為True,0為False進(jìn)行判斷。(2)當(dāng)<條件表達(dá)式>為真時,函數(shù)返回<表達(dá)式1>的值,當(dāng)<條件表達(dá)式>為假時,函數(shù)返回<表達(dá)式2>的值。(3)<表達(dá)式1>、<表達(dá)式2>可以是任何表達(dá)式。第12頁/共68頁【例4-6】例4-3中命令按鈕Command1的單擊(Click)事件代碼可以改為PrivateSubCommand1_Click()DimxAsSingle,yAsSinglex=Val(Text1.Text)y=IIf(x>=0,1+x,1–2*x)Text2.Text=yEndSub第13頁/共68頁3.塊結(jié)構(gòu)條件語句IF…THEN…ELSE…ENDIF其語法結(jié)構(gòu)為If〈條件1〉Then[語句列1][Else[語句列2]]EndIf第14頁/共68頁【例4-7】將例4-3中命令按鈕Command1的單擊(Click)事件代碼改為多行If語句:PrivateSubCommand1_Click()DimxAsSingle,yAsSinglex=Val(Text1.Text)Ifx>=0Theny=1+xElsey=1–2*xEndIfText2.Text=yEndSub第15頁/共68頁4.IF語句的嵌套1)IF語句的嵌套【例4-8】鐵路托運(yùn)行李,從甲地到乙地,規(guī)定每張客票托運(yùn)費(fèi)計(jì)算方法是行李重量不超過50kg時,0.25元/kg,超過50kg而不超過100kg時,其超過部分按0.35元/kg收費(fèi),超過100kg時,其超過部分按0.45元/kg收費(fèi)。編寫程序,輸入行李重量,計(jì)算并輸出托運(yùn)的費(fèi)用。設(shè)計(jì)步驟如下:

(1)建立應(yīng)用程序用戶界面與設(shè)置對象屬性。圖4-9計(jì)算托運(yùn)費(fèi)第16頁/共68頁(2)編寫程序代碼??梢詫懗雒畎粹oCommand1的單擊(Click)事件代碼為PrivateSubCommand1_Click()DimwAsSingle,xAsSinglew=Val(Text1.Text)Ifw<=50Thenx=0.25*wElseIfw<=100Thenx=0.25*50+0.35*(w–50)Else第17頁/共68頁x=0.25*50+0.35*50+0.45*(w–100)EndIfEndIfText2.Text=xEndSub可以將上例中命令按鈕Command1的單擊(Click)事件代碼改為:PrivateSubCommand1_Click()DimwAsSingle,xAsSinglew=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=xEndSub第18頁/共68頁【例4-9】某百貨公司為了促銷,采用購物打折扣的優(yōu)惠辦法:每位顧客一次購物

(1)在1000元以上者,按九五折優(yōu)惠;

(2)在2000元以上者,按九折優(yōu)惠;

(3)在3000元以上者,按八五折優(yōu)惠;

(4)在5000元以上者,按八折優(yōu)惠。

設(shè)計(jì)步驟如下:

(1)建立應(yīng)用程序用戶界面與設(shè)置對象屬性。

(2)編寫程序代碼。第19頁/共68頁可以寫出命令按鈕Command1的單擊(Click)事件代碼為PrivateSubCommand1_Click()DimxAsSingle,yAsSinglex=Val(Text1.Text)Ifx<1000Theny=xElseIfx<2000Theny=0.95*xElseIfx<3000Then第20頁/共68頁y=0.9*xElseIfx<5000Theny=0.85*xElsey=0.08*xEndIfEndIfEndIfEndIfText2.Text=yEndSub第21頁/共68頁2)IF語句的嵌套格式ELSEIF

其語法結(jié)構(gòu)為If〈條件1〉Then[語句列1]ElseIf〈條件2〉Then[語句列2]...[Else[其他語句列]]EndIf第22頁/共68頁【例4-10】在例4-9中使用帶ElseIf的塊If語句來計(jì)算出優(yōu)惠價,只需將其中命令按鈕Command1的單擊(Click)事件代碼改為PrivateSubCommand1_Click()DimxAsSingle,yAsSinglex=Val(Text1.Text)Ifx<1000Theny=xElseIfx<2000Theny=0.95*x第23頁/共68頁ElseIfx<3000Theny=0.9*xElseIfx<5000Theny=0.85*xElsey=0.08*xEndIfText2.Text=yEndSub第24頁/共68頁4.4多分支條件選擇語句SELECTCASESELECTCASE結(jié)構(gòu)與語法語句的語法格式為:SelectCase變量或表達(dá)式

Case表達(dá)式列表1

語句塊1Case表達(dá)式列表2

語句塊2 …[CaseElse

語句塊n+1]EndSelect數(shù)值型或字符串表達(dá)式第25頁/共68頁說明:

<表達(dá)式列表>:與<變量或表達(dá)式>同類型的下面四種形式之一:表達(dá)式如:A+5

一組枚舉表達(dá)式(用逗號分隔)如:2,4,6,8

表達(dá)式1To表達(dá)式2 如:60to100

Is關(guān)系運(yùn)算符表達(dá)式如;Is<60第26頁/共68頁2.SELECTCASE結(jié)構(gòu)的應(yīng)用

【例4-11】在例4-9中使用SelectCase語句來計(jì)算優(yōu)惠價,只需將其中命令按鈕Command1的單擊(Click)事件代碼改為PrivateSubCommand1_Click()DimxAsSingle,yAsSinglex=Val(Text1.Text)SelectCasexCaseIs<1000y=x

第27頁/共68頁CaseIs<2000y=0.95*xCaseIs<3000y=0.9*xCaseIs<5000y=0.85*xCaseElsey=0.8*xEndSelectText2.Text=yEndSub第28頁/共68頁【例4-12】某航空公司規(guī)定在旅游的旺季7~9月份,如果訂票數(shù)超過20張,票價優(yōu)惠15%,20張以下,優(yōu)惠5%;在旅游的淡季1~5月份、10月份、11月份,如果訂票數(shù)超過20張,票價優(yōu)惠30%,20張以下,優(yōu)惠20%;其他情況一律優(yōu)惠10%。設(shè)計(jì)程序,根據(jù)月份和訂票張數(shù)決定票價的優(yōu)惠率。設(shè)計(jì)步驟如下:

(1)建立應(yīng)用程序用戶界面與設(shè)置對象屬性。第29頁/共68頁(2)編寫程序代碼。根據(jù)流程圖,可以寫出命令按鈕Command1的單擊(Click)事件代碼為:PrivateSubCommand1_Click()DimmAsInteger,nAsInteger,rAsIntegerm=Val(Text1.Text)n=Val(Text2.Text)SelectCasemCaseIs<=5,10,11Ifn<20Thenr=20Elser=30第30頁/共68頁Case7To9Ifn<20Thenr=5Elser=15CaseElser=10EndSelectLabel4.Caption="所訂機(jī)票的優(yōu)惠率為:"&Str(r)&"%"EndSub

為了使用更加方便,再增加如下代碼。窗體的Load事件代碼:第31頁/共68頁P(yáng)rivateSubForm_Load()Text1.Text=Month(Date) 'Text1中的默認(rèn)值為當(dāng)前月份EndSub

文本框Text1的GotFocus事件代碼:PrivateSubText1_GotFocus()Text1.SelStart=0Text1.SelLength=Len(Text1.Text)EndSub第32頁/共68頁

文本框Text1的按?。↘eyPress)事件代碼:PrivateSubText1_KeyPress(KeyAsciiAsInteger)IfKeyAscii=13Then'在Text1按回車鍵,光標(biāo)跳到Text2IfText1.Text>0AndText1.Text<13ThenText2.SetFocusEndIfEndIfEndSub

文本框Text2的GotFocus事件代碼:PrivateSubText2_GotFocus()第33頁/共68頁Text2.SelStart=0Text2.SelLength=Len(Text2.Text)EndSub

文本框Text2的按?。↘eyPress)事件代碼:PrivateSubText2_KeyPress(KeyAsciiAsInteger)IfKeyAscii=13Then'在Text2按回車鍵,光標(biāo)跳到Command1IfText2.Text>0ThenCommand1.SetFocusEndIfEndSub第34頁/共68頁4.5使用計(jì)時器控件

1.用途計(jì)時器控件(Timer)又稱時鐘、定時器控件,用于有規(guī)律地定時執(zhí)行指定的工作,常常用于編寫不需要與用戶進(jìn)行交互就可直接執(zhí)行的代碼,如計(jì)時、倒計(jì)時、動畫等。在程序運(yùn)行階段,時鐘控件不可見。2屬性(1)Interval屬性取值范圍在0~64767,單位:為毫秒(0.001秒),表示計(jì)時間隔。若將Interval屬性設(shè)置為0或負(fù)數(shù),則計(jì)時器停止工作。缺省設(shè)置為0(2)Enabled屬性設(shè)置為True,而且Interval屬性值大于0,則計(jì)時器開始工(以Interval屬性值為間隔,觸發(fā)Timer事件)。設(shè)置為False可使時鐘控件無效,即計(jì)時器停止工作。缺省設(shè)置為True第35頁/共68頁3方法

Timer控件沒有方法。4事件

時鐘控件只有Timer事件

當(dāng)Enabled屬性值為True且Interval屬性值大于0時,該事件以Interval屬性指定的時間間隔發(fā)生常常將需要定時執(zhí)行的操作放在Timer事件過程中第36頁/共68頁計(jì)時器控件應(yīng)用舉例1.設(shè)計(jì)一個電子表【例4-13】在窗體上設(shè)計(jì)一個數(shù)字時鐘,如圖4-15所示。

圖4-16建立界面與設(shè)置屬性圖4-15數(shù)字時鐘第37頁/共68頁設(shè)計(jì)步驟如下:

(1)建立應(yīng)用程序用戶界面。

(2)設(shè)置對象屬性,

(3)編寫程序代碼。編寫計(jì)時器控件Timer1的Timer事件代碼:PrivateSubTimer1_Timer()Label1.Caption=Format(Time,Form1.Tag)Label2.Caption=IIf(Hour(Time)>12,"下午","上午")EndSub第38頁/共68頁編寫命令按鈕Command1的Click事件代碼:PrivateSubCommand1_Click()IfCommand1.Caption="改為12小時"ThenForm1.Tag="hh:mm:ssAM/PM"Command1.Caption="改為24小時"Label2.Visible=TrueElseForm1.Tag="hh:mm:ss"Command1.Caption="改為12小時"Label2.Visible=FalseEndIfEndSub

第39頁/共68頁2.設(shè)計(jì)一個計(jì)時器【例4-14】一個簡單計(jì)時器。如圖4-17所示。

圖4-17簡單計(jì)時器圖4-18計(jì)時器的設(shè)計(jì)第40頁/共68頁設(shè)計(jì)步驟如下:

(1)建立應(yīng)用程序用戶界面與設(shè)置對象屬性。

(2)編寫程序代碼。編寫Command1(開始)的Click事件代碼:PrivateSubCommand1_Click()IfCommand1.Caption="&S暫停"ThenCommand1.Caption="&C繼續(xù)"Timer1.Enabled=FalseElseCommand1.Caption="&S暫停"IfLabel1.Caption="00:00:00:0"ThenForm1.Tag=TimerTimer1.Enabled=TrueEndIfEndSub第41頁/共68頁編寫Command2(重置)的Click事件代碼:PrivateSubCommand2_Click()Form1.Tag=TimerLabel1.Caption="00:00:00:0"EndSub

編寫Timer1的Timer事件代碼:PrivateSubTimer1_Timer()m=Timer–Form1.Tagn0=(m*10)Mod10m=Int(m)n1=Format(mMod60,"00.")n2=Format((m\60)Mod60,"00:")n3=Format(m\3600,"00:")Label1.Caption=n3&n2&n1&n0EndSub第42頁/共68頁3.設(shè)計(jì)一個流動字幕板【例4-15】為一個應(yīng)用系統(tǒng)設(shè)計(jì)流動字幕板,如圖4-19所示,標(biāo)題“欲窮千里目,更上一層樓”在窗體中自右至左地反復(fù)移動。

圖4-19電子標(biāo)題板圖4-20用戶界面的設(shè)計(jì)第43頁/共68頁設(shè)計(jì)步驟如下:

(1)建立應(yīng)用程序用戶界面與設(shè)置對象屬性

(2)編寫程序代碼。編寫命令按鈕Command1的Click事件代碼:PrivateSubCommand1_Click()IfCommand1.Caption="&S暫停"ThenCommand1.Caption="&C繼續(xù)"Timer1.Enabled=FalseElseCommand1.Caption="&S暫停"Timer1.Enabled=TrueEndIfEndSub第44頁/共68頁編寫Timer1的Timer事件代碼:PrivateSubTimer1_Timer()IfLabel1.Left+Label1.Width>0ThenLabel1.MoveLabel1.Left–20ElseLabel1.Left=Form1.ScaleWidthEndIfEndSub第45頁/共68頁4.6提供簡單選擇的控件4.6.1選項(xiàng)按鈕

1用途單選鈕(OptionButton)也稱作選擇按鈕。一組單選鈕控件可以提供一組彼此相互排斥的選項(xiàng),任何時刻用戶只能從中選擇一個選項(xiàng),實(shí)現(xiàn)一種“單項(xiàng)選擇”的功能,被選中項(xiàng)目左側(cè)圓圈中會出現(xiàn)一黑點(diǎn)。2.重要屬性(1)Caption:文本標(biāo)題。設(shè)置單選鈕的文本注釋內(nèi)容。(2)Alignment屬性:

0:LeftJustify(缺省設(shè)置)控件鈕在左邊,標(biāo)題顯示在右邊。

1:—RightJustify控件鈕在右邊,標(biāo)題顯示在左邊。(3)Value屬性 True:單選鈕被選定

False:單選鈕未被選定(缺省設(shè)置)(4)Style屬性

0--Standard:標(biāo)準(zhǔn)方式 1--Graphical:圖形方式第46頁/共68頁3方法

SetFocus方法是單選鈕控件最常用的方法,可以在代碼中通過該方法將Value屬性設(shè)置為True。與命令按鈕相同,使用該方法之前,必須要保證單選鈕處于可見和可用狀態(tài)(即Visible與Enabled屬性值均True)。4事件

Click事件是單選鈕控件最基本的事件,一般情況用戶無需為單選鈕編寫Click事件過程,因?yàn)楫?dāng)用戶單擊單選鈕時,它會自動改變狀態(tài)。第47頁/共68頁選項(xiàng)按鈕組應(yīng)用舉例【例4-16】在例4-13中使用選項(xiàng)按鈕組來選擇時間的格式編寫新增控件的事件代碼。編寫選項(xiàng)按鈕Option1的Click事件代碼:PrivateSubOption1_Click()Form1.Tag="hh:mm:ssAM/PM"Label2.Visible=TrueEndSub

編寫選項(xiàng)按鈕Option2的Click事件代碼:PrivateSubOption2_Click()Form1.Tag="hh:mm:ss"Label2.Visible=FalseEndSub第48頁/共68頁例4-17】設(shè)銀行定期存款年利率為:1年期2.25%,2年期2.43%,3年期2.70%,5年期2.88%(不計(jì)復(fù)利)。今有本金a元,5年以后使用,共有以下6種存法:l

存一次5年期。l

存一次3年期,一次2年期。l

存一次3年期,兩次1年期。l

存兩次2年期,一次1年期。l

存一次2年期,三次1年期。l

存五次1年期。分別計(jì)算各種存法5年后到期時的本息合計(jì)

第49頁/共68頁

編寫命令按鈕Command1的單擊(Click)事件代碼:PrivateSubCommand1_Click()DimaAsSingle,yAsSingleDimx1AsSingle,x2AsSingleDimx3AsSingle,x5AsSinglea=Val(Text1.Text)x1=0.0225:x2=0.0243x3=0.027:x5=0.0288SelectCaseTrueCaseOption1.Valuey=(1+5*x5)*a第50頁/共68頁CaseOption2.Valuey=(1+3*x3)*(1+2*x2)*aCaseOption3.Valuey=(1+3*x3)*(1+x1)^2*aCaseOption4.Valuey=(1+2*x2)^2*(1+x1)*aCaseOption5.Valuey=(1+2*x2)*(1+x1)^3*aCaseOption6.Valuey=(1+x1)^5*aEndSelect第51頁/共68頁Text2.Text=yText1.SetFocusEndSub

編寫文本框Text1的GotFocus事件代碼:PrivateSubText1_GotFocus()Text1.SelStart=0Text1.SelLength=Len(Text1.Text)EndSub第52頁/共68頁圖形選項(xiàng)按鈕應(yīng)用舉例將選項(xiàng)按鈕設(shè)計(jì)成圖形按鈕的形式【例4-18】用圖形選項(xiàng)按鈕組控制流動字幕中的字體,如圖4-23所示。設(shè)計(jì)步驟如下:

(1)建立應(yīng)用程序用戶界面與設(shè)置對象屬性。

(2)編寫程序代碼。依次編寫選項(xiàng)按鈕Option1~Option4的Click事件代碼:PrivateSubOption1_Click()第53頁/共68頁Text1.FontName="宋體"EndSubPrivateSubOption2_Click()Text1.FontName="隸書"EndSubPrivateSubOption3_Click()Text1.FontName="黑體"EndSubPrivateSubOption4_Click()Text1.FontName="楷體_GB2312"EndSub第54頁/共68頁4.6.2復(fù)選框

1用途復(fù)選框(CheckBox)也稱作檢查框、選擇框。一組復(fù)選框控件可以提供多個選項(xiàng),它們彼此獨(dú)立工作,所以用戶可以同時選擇任意多個選項(xiàng),實(shí)現(xiàn)一種“不定項(xiàng)選擇”的功能。選擇某一選項(xiàng)后,該控件將顯示√,而清除此選項(xiàng)后,√消失。檢查框被選中第55頁/共68頁2.重要屬性

Caption、Alignment、Style與單選鈕相同復(fù)選框的Value屬性與單選按鈕不同,其值為數(shù)值型數(shù)據(jù),可取0,1,2復(fù)選框與單選按鈕Value屬性的比較

檢查框0--Unchecked:未被選定1--Checked:選定2--Grayed:灰色,禁止選擇

單選鈕True:單選鈕被選定False:單選鈕未被選定,缺省設(shè)置 第56頁/共68頁4事件

Click事件是檢查框控件最基本的事件。用戶一般無需為檢查框編寫Click事件過程,但其對Value屬性值的改變遵循以下規(guī)則:單擊未選中的檢查框時,Value屬性值變?yōu)?;單擊已選中的檢查框時,Value屬性值變?yōu)?;單擊變灰的檢查框時,Value屬性值變?yōu)?。第57頁/共68頁復(fù)選框應(yīng)用舉例1.使用單個復(fù)選框【例4-19】在上例中,增加復(fù)選框,控制選項(xiàng)按鈕組的顯示。增加復(fù)選框控件Check1的Click事件代碼:PrivateSubCheck1_Click()Option1.Visible=Check1.ValueOption2.Visible=Check1.ValueOption3.Visible=Check1.ValueOption4.Visible=Check1.ValueEndSub第58頁/共68頁2.使用多個復(fù)選框

【例4-20】設(shè)計(jì)一個個人資料輸入窗口,使用選項(xiàng)按鈕組輸入性別與民族,使用復(fù)選框輸入個人愛好,如圖4-25所示。.

圖4-25使用多個復(fù)選框圖4-26建立用戶界面

第59頁/共68頁設(shè)計(jì)步驟如下:

(1)建立應(yīng)用程序用戶界面。

(2)設(shè)置對象屬性。

(3)編寫程序代碼。編寫命令按鈕Command1的Click事件代碼:PrivateSubCommand1_Click()IfText1.Text=""Thena=InputBox("您忘了輸入姓名!","注意","請?jiān)诖溯斎胄彰?)Ifa=""Ora="請?jiān)诖溯斎胄彰?ThenExitSubText1.Text=aEndIf第60頁/共68頁p1=Text1.Text+","p2=IIf(Option1,"男","女")+","p3=IIf(Option3,"漢族","少數(shù)民族")p4=",喜歡:"IfCheck1.Value=1Thenp4=p4+Check1.Caption+"、"IfCheck2.Value=1Thenp4=p4+Check2.Caption+"、"IfCheck3.Value=1Thenp4=p4+Check3.Caption+"、"IfCheck4.Value=1Thenp4=p4+Check4.Caption+"、"aa=p1+p2+p3+IIf(p4=",喜歡:",",無愛好。",p4)Label4.Caption=Left(aa,Len(aa)–1)+"。"Text1.SetFocusEndSub

編寫文本框Text1的Change事件代碼:PrivateSubText1_Change()Label4.Caption=""EndSub第61頁/共68頁3.復(fù)選框的圖形方式【例4-21】利用圖形復(fù)選框來控制文本的字體風(fēng)格,如圖4-27所示。

設(shè)計(jì)步驟如下:

(1)建立應(yīng)用程序用戶界面。

(2)設(shè)置對象屬性。(3)編寫代碼。復(fù)選框控件Check1的Click事件代碼:PrivateSubCheck1_Click()Check2.Enabled=Check1.ValueCheck3.Enabled=Check1.ValueCheck4.Enabled=Check1.ValueCheck1.Caption=IIf(Check4.Caption="鎖上","打開","鎖上")EndSub第62頁/共68頁復(fù)選框控件Check2的Click事件代碼:PrivateSubCheck2_Click()Text1.FontBold=Check2.ValueEndSub

復(fù)選框控件Check3的Click事件代碼:PrivateSubCheck3_Click()Text1.FontItalic=Check3.ValueEndSub

復(fù)選框控件Check4的Click事件代碼:Priva

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論