簡單VB程序設(shè)計_第1頁
簡單VB程序設(shè)計_第2頁
簡單VB程序設(shè)計_第3頁
簡單VB程序設(shè)計_第4頁
簡單VB程序設(shè)計_第5頁
已閱讀5頁,還剩57頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(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

Print

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

評論

0/150

提交評論