版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
第3章簡單VB程序設(shè)計
眾所周知,VB應(yīng)用程序的執(zhí)行是由事件驅(qū)動的,
當(dāng)用戶觸發(fā)某一事件時,執(zhí)行相應(yīng)的事件過程,這些
事件過程之間并沒有特定的執(zhí)行次序。但在每一個事
件過程內(nèi)部,是有一定的執(zhí)行控制流程的,這就是通
常所說的三種基本結(jié)構(gòu):順序結(jié)構(gòu)、分支結(jié)構(gòu)、循環(huán)
結(jié)構(gòu)。順序結(jié)構(gòu)是最簡單的一種結(jié)構(gòu),該結(jié)構(gòu)按語句
排列的先后順序執(zhí)行。本章的主要內(nèi)容有:VB最基本
的幾個對象,與順序結(jié)構(gòu)有關(guān)的語句和方法。通過本
章的學(xué)習(xí),可以進行簡單VB程序設(shè)計。
退出
鼠標(biāo)左1
3」窗體
3.2命令按鈕
3.3標(biāo)容
3.4文本框
3.5賦值語句
36Print方法
3.7輸入框
3.8消息框
3.9注釋語句、結(jié)束語句
3.10程序調(diào)試
創(chuàng)建VB應(yīng)用程序的第一步是創(chuàng)建用戶界面。用戶
界面的基礎(chǔ)是窗體,各種控件對象必須建立在窗體上。
啟動VB后,即在屏幕上顯示一個窗體,如圖3-1所
O
3.1.1窗體的主要屬性
窗體的屬性決定了窗體的外觀和操作。窗體的大
部分屬性可用兩種方法來設(shè)置:通過屬性窗口設(shè)置和
通過程序代碼設(shè)置。有少量的屬性不能在程序代碼中
設(shè)置。
(1)Caption屬性
設(shè)置窗體的標(biāo)題內(nèi)容。標(biāo)題內(nèi)容應(yīng)概括說明本窗
體作用。
(2)MaxButton屬性和MinButton屬性
MaxButton屬性為True,窗體右上角有最大化按
鈕;為False時,無最大化按鈕。
MinButton屬性為True,窗體右上角有最小化按
鈕;為False時,無最小化按鈕。
(3)BorderStyle屬性
決定窗體邊框式樣及窗體是否能調(diào)整大小。
(4)BackColor屬性和ForeColor屬性
BackColor屬性設(shè)置窗體的背景顏色,F(xiàn)orColor
屬性設(shè)置窗體的前景顏色。窗體的前景顏色是執(zhí)行
Print方法時所顯示文本的顏色。
(5)Height屬性和Width屬性
設(shè)置窗體的初始高度和寬度。其單位為Twip。
lTwip=l/20點=1/1440英寸=l/567cm。
(6)Left屬性和Top屬性
用于設(shè)置窗體左邊框距屏幕左邊界的距離和窗體
頂邊距屏幕頂端的距離。其單位為Twipo
(7)Name(名稱)屬性
設(shè)置窗體的名稱,在程序代碼中用這個名稱引用
該窗體。新建工程時,窗體的名稱缺省為Forml;添
加第二個窗體,其名稱缺省為Form2,依次類推。為
了便于識別,用戶通常給Name屬性設(shè)置一個有實際
意義的名稱。
(8)Enabled屬性
屬性值為True或Fake,設(shè)置對象是否能夠?qū)τ脩?/p>
產(chǎn)生的事件做出反應(yīng)。一般在程序中設(shè)置,用于臨時
屏蔽對窗體或其它控件的的控制。?
(9)Moveable屬性
屬性值為True或False,設(shè)置是否可以移動窗體。
(10)Visible屬性
屬性值為True或False,設(shè)置窗體是否被顯示。用
戶可用該屬性在程序代碼中控制窗體的隱現(xiàn)。
(11)Picture屬性
設(shè)置在窗體中顯示的圖片。單擊Picture屬性右邊
的按鈕,彈出“加載圖片”對話框,用戶可選擇一個
圖片文件作為窗體的背景圖片。若在程序中設(shè)置該屬
性的值,需要使用LoadPicture函數(shù)。
(12)WindowState屬性
設(shè)置窗體啟動后的大小狀態(tài)。
在VB中,雖然不同的對象有不同的屬性集合,但
有一些屬性,如Name、Enabled>Visible>Height、
Width、Left、Top等,其它控件也有,且具有相似的
作用。在后續(xù)的章節(jié)中,主要介紹各種控件常用的特
殊屬性。
3.1.2事件
窗體最常用的事件有3種:Click(單擊)、
DbClick(雙擊)、Load(裝入)。
1.Click事件
程序運行后,單擊窗體觸發(fā)該事件。
2.DbClick事件
程序運行后,雙擊窗體觸發(fā)該事件。
3.Load事件
Load事件是窗體被裝入內(nèi)存工作區(qū)時觸發(fā)的事件。
如果這個事件過程存在,就馬上執(zhí)行它。Load事件過
程通常用于啟動程序時,對屬性、變量的初始化以及
裝載數(shù)據(jù)等。
【例3.1】窗體上無最大化、最小化按鈕,程序運
行后,在窗體上裝入一幅圖片作為背景,當(dāng)單擊窗體
時,窗體變寬;當(dāng)雙擊窗體時,則退出。程序運行界
面如圖3-2所示。
HE
對象屬性設(shè)置如表3」所示。
表3J例3.1對象屬性設(shè)置
對像屎性設(shè)置
Caption篤習(xí)窗體事件
FcumlFake
False
HE
事件過程如下:
PrivateSubForm_Load()'裝入圖片
Forml.Picture=LoadPicture("c:
\pic\Changcheng.wmf!)
EndSub
PrivateSubForm_cHck(),單擊窗體
Forml.Width=Forml.Width+1000
EndSub
PrivateSubForm_DblClick(),雙擊窗體
End
EndSub
說明:上機時,可通過查找文件的方法找一個圖
片文件,參照本例中的格式輸入即可。
3.2命令按鈕
在VB應(yīng)用程序中,命令按鈕是使用最多的對象之
一,常常用它接受用戶的操作信息,觸發(fā)相應(yīng)的事件
過程,以實現(xiàn)指定的功能。
3.2.1屬性
1.Caption屬性
設(shè)定命令按鈕上顯示的文本。
2.Default屬性
該屬性用于設(shè)置默認(rèn)命令按鈕。
3.Style屬性和Picture屬性
命令按鈕上除了可以顯示文字外,還可以顯示圖
形。若要顯示圖形,首先應(yīng)將Style屬性設(shè)置為1,然
后在Picture屬性中設(shè)置要顯示的圖形文件。
4.Value屬性
該屬性只能在程序運行期間引用或設(shè)置。True表
示被按下,F(xiàn)alse(默認(rèn))表示未被按下。、
3.2.2事件
最常用的事件是Click事件。
3.3標(biāo)
標(biāo)簽(Label)主要用于顯示不需要用戶修改的文
本。所以,標(biāo)簽可以用來標(biāo)示窗體及窗體上的對象-
如為文本框、列表框等添加描述性的文字,或者作為
窗體的說明文字。
3.3.1屬性
1.Caption屬性
設(shè)置標(biāo)簽要顯示的內(nèi)容。它是標(biāo)簽的主要屬性。
2.BorderStyle屬性
默認(rèn)值為0,標(biāo)簽無邊框;設(shè)置為1時,標(biāo)簽有立體邊框。
3.Autosize屬性
窿屬性用于設(shè)置標(biāo)簽是否自動改變尺寸以適應(yīng)其內(nèi)容。.
4.Alignment屬性
確定標(biāo)簽中內(nèi)容的對齊方式。.
5.BackStyle屬性
該屬性用于設(shè)置背景是否透明。
3.3.2事件
常用Click,DbClick事件。
【例3.2】修改例3.1,在圖片上加提示信息“請單
擊圖片”,程序其它功能不變。程序運行界面如圖3-2
所示。
操作如下:在窗體上添加一個標(biāo)簽,將其Caption
屬性設(shè)置為“請單擊圖片",BackStyle屬性設(shè)置為0
(透明),程序代碼不變。
3.4文本框
文本框(TextBox)在窗體中為用戶提供一個既能
顯示文本又能編輯文本的區(qū)域。在文本框內(nèi),用戶可
以用鼠標(biāo)、鍵盤按常用的方法對文字進行編輯,例如
進行輸入、刪除、選擇、復(fù)制及粘貼等各種操作。
3.4.1屬性
1.Text屬性
設(shè)置文本框中顯示的內(nèi)容。
2.Locked屬性
設(shè)置文本框中的內(nèi)容是否可編輯。
3.Maxlength屬性
設(shè)置文本框中允許輸入的最大字符數(shù)。
4.MultiLine屬性
決定文本框是否允許接收多行文本。.
5.PassWordChar屬性
當(dāng)MultiLine為False時,該屬性可設(shè)置顯示在文本
框中的替代符。
6.ScrollBars屬性
決定文本框中是否有滾動條。
3.4.2事件
文本框除支持Click,DbClick事件,常用的還有
Change>LostFocus事件。
1.Change事件
當(dāng)用戶輸入新內(nèi)容,或程序?qū)ξ谋究虻腡ext屬性
重新賦值,從而改變文本框的Text屬性時觸發(fā)該事件。
2.LostFocus事件
當(dāng)用戶按下[Tab]鍵時光標(biāo)離開文本框,或用鼠標(biāo)
選擇其它對象時觸發(fā)該事件,稱為“失去焦點”事件。
3.4.3方法
文本框最常用的方法是SetFocus,使用該方法可
把光標(biāo)移到指定的文本框中,使之獲得焦點。當(dāng)使用
多個文本框時,用該方法可把光標(biāo)移到所需要的的文
本框中。其使用格式為:
1.對象.SetFocus
【例3.3】程序運行后,隨著用戶的輸入,標(biāo)簽中
同步顯示出用戶對文本框的內(nèi)容更新的次數(shù)。運行效
果如圖3-4所示。
Z
HmT
要
I0
伯
腳
神
怛
,
(1)舞面設(shè)計
在窗體上建立一個文本框、一個標(biāo)簽.設(shè)置各對象的屬性,如表3-2所示。
表3-2例3.3對象屬性設(shè)置
對象屎性長置
FomilCaption文箕框或用示例
text空
Textl
期眼灰True
Caption空
豆磷蒙喊1
Labell
2
Font字偉大小雙二號
2.編寫事件過程如下:
PrivateSubTextl_Change()
Statici%
i=i+l
Labell.Caption=i
EndSub
請思考:標(biāo)簽中顯示的數(shù)字是文本框中顯示的字
符個數(shù)嗎?
3.5賦值語句
賦值語句是VB程序最常用、最基本的語句,它能
為變量提供數(shù)據(jù)。另外,若要在程序代碼中設(shè)置對象
的屬性,也要使用賦值語句。
賦值語句有兩種格式:.
格式1:變量名=表達式.
格式2:[對象名.]屬性名=表達式
賦值語句的作用是:首先計算“=”右邊表達式的
值,然后將該值賦給“=”左邊的變量或?qū)ο蟮膶傩浴?/p>
在格式2中,若對象名省略,則默認(rèn)對象為當(dāng)前窗體。
例如:
.一—,把2賦處
y=x*3'計算x*3的值,
得6,把6賦給y
x=x+l,計算x+1的值,得3,把3賦
給x
a$="Hello"!把“Hello”賦給a$
Textl.Text="你好!",把“你好!”
賦給Textl的Text屬性
【例3.4]已知三角形三邊Q,b,c的長,求三角
形的面積,輸出三條邊長及面積。
分析:應(yīng)用程序的界面應(yīng)該能讓用戶輸入三邊的
長,程序在接收用戶輸入的數(shù)據(jù)后,利用數(shù)學(xué)公式對
數(shù)據(jù)進行計算,并把結(jié)果輸出到屏幕上。已知三角形
三邊0b,c的長,求三角形的面積的公式為:
其中p=(a+b+c)/2o
(1)界面設(shè)計
在窗體上建立5個標(biāo)簽、3個文本框和1個命令按鈕。
設(shè)置各對象的屬性,如表3-3所示。
表3-3例3.4對敷屬性設(shè)置
對象屎蝕設(shè)置
Foimlcaption計算三角形面枳
LSScsption請谿入三邊
LabeUcaptiona
LM13captionb
L4bel4f
LSel5caption空
Te:4tlte注5
Text2te泣空
Text3te^t空
ComumdlcaptionHM
設(shè)計完成的界面如圖3-5所示。
(2)編寫事件過程如下:
PrivateSubCommandl_Click()
Dima!,b!,c!,p!,s!
a=Textl.Text
b=Textl.Text
c=Text3.Text
p=(a+b+c)/2
s=Sqr(p*(p-a)*(p-b)
Label5.Caption=s
EndSub
5
0
1
■
自
鼠
寸
祥S
辱
一
Y,4
:m
裝
苓
6_圖
於
?
|||
就
七
,
3.6PNm方法
3.6.1Print的格式及功能
格式:[對象名JPrint[表達式列表】
功能:在對象上輸出表達式的值。
說明:,.
(1)對象名:可以是Form(窗體)、Debug(立
即窗口)、Picture(圖片框)、Printer(打印機)。
省略此項,表示在當(dāng)前窗體上輸出。例如:
Print"23*2=";23*2,在當(dāng)前窗體上輸出23*2=46
Picturel.Print"Goodtf
1在圖片框Picturel上輸出Good
Printer.Print"Morning",在打印機上輸出
Morning
■(2)表達式列表:是一個或多個表達式,若為多
個表達式,則各表達式之間用”或“;”隔開。.
省略此項,則輸出一空行。
(3)用”分隔各表達式時,各項在以14個字
符位置為單位劃分出的區(qū)段中輸出,每個區(qū)段輸出一
項;用”分隔各表達式時,各項按緊湊格式輸出。
(4)如果在語句行末尾有“;”,則下一個Print
輸出的內(nèi)容,將緊跟在當(dāng)前Print輸出內(nèi)容后面;如果
在語句行末尾有“,”,則下一個Print輸出的內(nèi)容,
將在當(dāng)前Print輸出內(nèi)容的下一區(qū)段輸出;如果在語句
行末尾無分隔符,則輸出完本語句內(nèi)容后換行,即在
新的一行輸出下一個Print的內(nèi)容。例如:
Print1;2;
Print4
Print6
Print7
Print9
輸出結(jié)果為:
(3)定位輸出:在Print方法中,可以使用Tab函
數(shù)對輸出項進行定位。
例如:
PrintTab(10);“姓名?Tab(25);”年齡"
則“姓名”和“年齡”分別從當(dāng)前行的第10列和
第25列開始輸出。
輸出結(jié)果如下:
姓名年齡
Print方法中,還可以使用Spc函數(shù),例如:
Print”后面有8個空格?Spc(8);”前
面有8個空格”
輸出結(jié)果如下:
后面有8個空格前面有8個空格
3.6.2Cis方法
格式:[對象名?]Cls
功能:Ck方法清除Print方法顯示的文本或在圖片
框中顯示的圖形,并把輸出位置移到對象的左上角。
格式中的對象可以是窗體或圖片框,如果省略對象名,
則清除當(dāng)前窗體的顯示內(nèi)容。
3.7輸入框
我們知道,文本框可以接收用戶的輸入。輸入框
也可以接受用戶的輸入,但是其風(fēng)格和用法有別于文
本框。VB提供的InputBox函數(shù)可生成輸入框。
例如:p$=InputBox("請輸入密碼L”密碼框D
執(zhí)行該語句后,屏幕上顯示如圖3-6所示的輸入框。
文本E
圖34輅入框
HE
每執(zhí)行一次InputBox函數(shù),用戶只能輸入一個數(shù)
據(jù),另外,輸入框的樣式是固定的,用戶不能改變。
用戶能改變的是輸入框的“提示”和“標(biāo)題”的內(nèi)容,
“提示”和“標(biāo)題”都是字符串表達式。.
InputBox函數(shù)的一般格式:
InputBox(提示[,標(biāo)題H,缺省值H,x坐標(biāo)位
置H,y坐標(biāo)位置])
需要注意的是:各項參數(shù)次序必須一一對應(yīng),除
了“提示”不能省略外,其余各項均可省略,但省略
部分也要用逗號占位符跳過。
例如:f$=InputBox(“第一行”&vbNewLine&
,,第二行,,,,ndddH,200,200)
運行時屏幕的顯示如圖3-7所示。
【例3.5】已知圓半徑,求圓周長和圓面積。
(1)界面設(shè)計
在窗體上建立兩個標(biāo)簽、兩個文本框、兩個命令
按鈕。設(shè)置各對象的屬性如表3?4所示。
表3-4例3.5對象屬性設(shè)置
天象屎性設(shè)置
FarmlC?ptiatx.農(nóng)圓周一和圓面枳
Textlten空
Text2text空
LabellCspticai圓周長
L處山C?ptictti圓面枳:
CotmmmdlCoition箱入書彼
Conmi知id2被束
設(shè)計完成的界面如圖3-7所示。
?收加崗長和H而極
Q
圖3?8伊13.5界回
(2)編寫事件過程如下:
PrivateSubCommandl_Click()
Dimr!,c!,a!
r=InputBox(“請輸入半徑“,“輸入框”)
c=2*r*3.14159
a=3.14159*i?八2
Text1.Text=c
Textl.Text=a
EndSub
PrivateSubCommand2_Click()
End
EndSub
3.8消息框
執(zhí)行VB提供的MsgBox函數(shù),可以在屏幕上出現(xiàn)
一個消息框,消息框通知用戶消息并等待用戶來選擇
消息框中的按鈕,MsgBox函數(shù)返回一個與用戶所選按
鈕相對應(yīng)的整數(shù)。
MsgBox函數(shù)的格式:
MsgBox(提示,[,按鈕數(shù)值H,標(biāo)題])
例如:inta=MsgBox(“密碼錯”,21,“密碼核
對")
執(zhí)行該語句后,屏幕上顯示如圖3-10所示的消息
框。
L不
長
型
近
去
我
二
隼
f◎兇
正
在MsgBox函數(shù)格式中,“提示”和“標(biāo)題”的含
義同InputBox函數(shù),“按鈕數(shù)值”的含義復(fù)雜一些,
“按鈕數(shù)值”指定按鈕的數(shù)目及類型,使用的圖標(biāo)樣
式及缺省按鈕是什么等,“按鈕數(shù)值”的缺省值是0。
本例“按鈕數(shù)值”是21,其含義是:消息框中有“X”
圖標(biāo),有“重試”及“取消”兩個按鈕,缺省按鈕是
“重試”按鈕。當(dāng)用戶單擊消息框中的一個按鈕后,
消息框即從屏幕上消失。在上面的語句中,將函數(shù)的
返回值賦給了變量inta,在程序中可引用inta作相應(yīng)的
處理。
下面對“按鈕數(shù)值”作進一步的解釋。
“按鈕數(shù)值”是3個數(shù)值之和,這3個數(shù)值分別代
表按鈕的數(shù)目和類型、使用的圖標(biāo)樣式以及缺省按鈕
是什么。
“按鈕數(shù)值”是從上面3個表中各取一個數(shù)相加而
得。注意:每個表只能取一個數(shù)。例如“按鈕數(shù)值”
是21,系統(tǒng)會自動把它分解成分別屬于上面3個表中的
3個值5,16,Oo21=5+16+0,這種分解是唯一的。
在程序中,一般把“按鈕數(shù)值”寫成符號常數(shù)相
加的形式,如把21寫成
VbRetryCancel+vbCritical+vbDefaultButtonl,這樣
可使程序含義清楚,從而增加程序的可讀性。當(dāng)然,
把21寫成5+16+0也是允許的。
MsgBox函數(shù)的返回值是根據(jù)用戶單擊哪個按鈕而
定的,見表3-8。
通常,在程序中要根據(jù)MsgBox函數(shù)返回值的不同
作不同的處理,這需要用到第4章中介紹的選擇結(jié)構(gòu)方
面的知識。
表3-8唾松去、函數(shù)的返回值
符號鷺敏但
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 福建師范大學(xué)《文化遺產(chǎn)創(chuàng)新創(chuàng)業(yè)》2021-2022學(xué)年第一學(xué)期期末試卷
- 福建師范大學(xué)《教育見習(xí)》2021-2022學(xué)年第一學(xué)期期末試卷
- 福建師范大學(xué)《勞動教育》2023-2024學(xué)年第一學(xué)期期末試卷
- 第二章 數(shù)控系統(tǒng)常見故障與分析課件
- 生產(chǎn)安全事故快報模板
- 微笑教育課件教學(xué)課件
- 12 荷花課件教學(xué)課件
- 2024年巴彥淖爾道路旅客運輸資格證從業(yè)考試
- 2024年拉薩客運資格證摸擬考試試題答案解析
- 2024年天津客運資格證模擬考試試題
- 《食品雕刻》授課教案
- 分布式光伏發(fā)電項目并網(wǎng)驗收調(diào)試報告
- 企業(yè)發(fā)展規(guī)劃部工作總結(jié)
- 道路開口施工方案
- 咖啡廳室內(nèi)設(shè)計PPT
- 北師大一年級數(shù)學(xué)上冊期中測試卷及答案
- 小學(xué)二年級上冊美術(shù)課件-5.17漂亮的鐘-嶺南版(14張)ppt課件
- 蘇教版六年級上冊音樂教案全冊
- 江蘇某市政道路地下通道工程深基坑支護及土方開挖施工專項方案(附圖)
- 生物校本教材—生活中的生物科學(xué)
- 北京市建筑施工起重機械設(shè)備管理的若干規(guī)定
評論
0/150
提交評論