b程序b設(shè)計(jì)基礎(chǔ)(2)學(xué)校資料_第1頁
b程序b設(shè)計(jì)基礎(chǔ)(2)學(xué)校資料_第2頁
b程序b設(shè)計(jì)基礎(chǔ)(2)學(xué)校資料_第3頁
b程序b設(shè)計(jì)基礎(chǔ)(2)學(xué)校資料_第4頁
b程序b設(shè)計(jì)基礎(chǔ)(2)學(xué)校資料_第5頁
已閱讀5頁,還剩62頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

程序設(shè)計(jì)基礎(chǔ)第2章、VisualBasic程序設(shè)計(jì)基本概念本章知識點(diǎn)事件驅(qū)動的編程機(jī)制對象的概念對象的屬性、方法和事件VB中的窗體和基本控件程序開發(fā)的一般步驟書寫代碼規(guī)則工程文件的操作事件驅(qū)動的編程機(jī)制事件驅(qū)動:以事件為中心

程序的運(yùn)行過程中,由用戶的動作(事件)來決定程序代碼的執(zhí)行順序。傳統(tǒng)的”過程化”的應(yīng)用程序 程序從第一行開始按照預(yù)定的順序執(zhí)行。開始過程1……過程N(yùn)結(jié)束過程開始事件1……事件N結(jié)束消息處理循環(huán)事件VB應(yīng)用程序的工作方式

VB應(yīng)用程序采用了事件驅(qū)動的編程機(jī)制。每個窗體和控件都有一個預(yù)定義的事件集,用于識別動作。如果發(fā)生某個動作,而且在相關(guān)聯(lián)的事件中存在代碼,那么VB會調(diào)用該代碼。VB編程本質(zhì):首先設(shè)計(jì)界面,然后在相應(yīng)動作相關(guān)聯(lián)的事件過程中編寫代碼。對象類和對象對象的屬性、方法和事件類和對象類(class)是“模板“。對象是按類克隆的特定實(shí)例。類是一個抽象的整體概念,對象是類的實(shí)例化。12324512245對象對象類VB的工具箱中的各種控件代表了不同的類。當(dāng)在窗體上畫一個控件時,就將類轉(zhuǎn)換為對象,即創(chuàng)建了一個控件對象,也簡稱為控件。VB中的類與對象對象的屬性、方法和事件屬性:用于描述對象的特征,如:貓的顏色等方法:是對象的動作,如貓能捉老鼠等動作事件:對象根據(jù)外部原因而作出的響應(yīng), 如:貓一看見老鼠就跑去捉。對象的屬性所有對象都有自己的屬性,用來描述對象特征。對象屬性設(shè)置的方法:

方法一:在設(shè)計(jì)模式下,通過屬性窗口直接設(shè)置對象的屬性。

方法二:在程序的代碼中通過賦值語句實(shí)現(xiàn),其格式為:

對象.屬性=屬性值例如:Label1.Caption=“hello”對象的方法對象方法調(diào)用形式:

[對象.]方法名[參數(shù)列表]

如省略對象,表示在當(dāng)前對象,一般指當(dāng)前窗體。例如:Form1.Print“VB程序設(shè)計(jì)” 或Print“VB程序設(shè)計(jì)”

對象的事件事件過程是指該對象相應(yīng)事件中的程序代碼,是事件觸發(fā)后處理的一段程序代碼。事件過程的語句格式:

Sub對象名稱_事件名稱([參數(shù)列表])

程序代碼

EndSub例如: SubButton1_Click() Label1.Caption=False EndSub窗體的常用屬性、事件和方法創(chuàng)建VB應(yīng)用程序的第一步是創(chuàng)建用戶界面。用戶界面的基礎(chǔ)是窗體,各種控件對象必須建立在窗體上。窗體的常用屬性窗體的屬性決定了窗體的外觀和操作。有兩種方法設(shè)置窗體屬性:通過屬性窗口來設(shè)置通過程序代碼來設(shè)置注意:大部分的屬性可以同時通過兩種方法設(shè)置,但也有些屬性只能通過程序代碼或?qū)傩源翱谠O(shè)置。1、窗體名稱(Name屬性)所有控件都具有Name屬性在代碼中標(biāo)識控件,不會顯示在窗體上。在同一個窗體中,不允許有兩個控件同名。創(chuàng)建的對象,有默認(rèn)的名稱,默認(rèn)為“Form1”、“Form2”等;最好給窗體的Name屬性設(shè)置一個有實(shí)際意義的名稱,如給一個登錄窗體命名為

“FrmLogon"。注意:該屬性必須在屬性窗口中設(shè)置,在代碼中為只讀。2、BackColor屬性和ForeColor屬性

BackColor屬性用于返回或設(shè)置窗體的背景顏色,

ForeColor屬性用于返回或設(shè)置窗體中顯示的文字的顏色。程序設(shè)計(jì)階段設(shè)置程序運(yùn)行階段設(shè)置VB中有三種常用的方法表示顏色值:常

數(shù)值描

述vbBlack0x0黑色vbRed0xFF紅色vbGreen0xFF00綠色vbYellow0xFFFF黃色vbBlue0xFF0000藍(lán)色vbMagenta0xFF00FF紫紅色vbCyan0xFFFF00青色vbWhite0xFFFFFF白色1、每種顏色都用一個常數(shù)表示,如表所示。BackColor=vbRed

2、通過QBColor函數(shù)指定顏色,參數(shù)里面是一個0到15的整數(shù),分別代表的含義見表所示。

例如:QBColor(4)代表紅色。值顏色值顏色0黑色8灰色1蘭色9亮蘭色2綠色10亮綠色3青色11亮青色4紅色12亮紅色5洋紅色13亮洋紅色6黃色14亮黃色7白色15亮白色3、通過RGB函數(shù)可指定任何顏色。RGB函數(shù)要對三原色(紅、綠、藍(lán))中的每種顏色,賦給從0到255中的數(shù)值,0表示亮度最低,255表示亮度最高。從而產(chǎn)生顏色值。例如:Form1.BackColor=RGB(255,0,0)‘設(shè)定背景色為紅色。Form1.ForeColor=RGB(255,255,0)‘設(shè)定前景色為黃色。思考:將窗體Form1的背景色設(shè)置為紅色,可使用三種方法:Form1.BackColor=RGB(255,0,0)Form1.BackColor=QBColor(4)Form1.BackColor=vbRed

3、BorderStyle邊框類型屬性確定窗體邊框的類型,在程序運(yùn)行時只讀。用0~5的數(shù)字表示,也可以用VB預(yù)定義的常量。常數(shù)值描述vbBSNone0無邊框,不可變窗口大小vbFixedSingle1固定單線框,不可變窗口大小vbSizable2雙線邊框,可變窗口大小vbFixedDoubleialog3雙線框架,不可變窗口大小vbFixedToolWindow4固定工具窗口vbSizableToolWindow5可變工具窗口4、Caption標(biāo)題屬性 設(shè)置窗體標(biāo)題欄上的文本內(nèi)容,也是當(dāng)窗體被最小化后出現(xiàn)在窗體圖標(biāo)后的文本。例: Form1.Caption=“Hello”寫代碼改變當(dāng)前窗體的Caption屬性有3種方法:

Me.Caption=“Hello” (如果對象是當(dāng)前窗體,可用Me指代) Caption=“Hello”

(如果對象是當(dāng)前窗體,可以省略對象名) Form1.Caption=“Hello”

(用窗體名稱指代)5.Enabled屬性

決定窗體或窗體上的控件是否響應(yīng)用戶的操作。

True:允許用戶進(jìn)行操作,并對操作作出響應(yīng)(缺省值)。

False:禁止用戶進(jìn)行操作,不對任何操作作出響應(yīng)。6.Visible屬性(邏輯值)決定窗體或控件是否可見

True

:運(yùn)行時控件可見(缺省值)。

False:運(yùn)行時控件隱藏,用戶看不到,但控件本身是存在的。

7、Font字體屬性組該屬性用來設(shè)置輸出字符的各種特性,包括字體、大小等。

FontName屬性:控件上所顯示文字的字體類型,該屬性的默認(rèn)值為“宋體”。 例:Form1.FontName=“隸書”FontSize屬性:決定控件上正文的字體大小。 例:Form1.FontSize=25注意:不能寫成Form1.FontSize=“二號”FontBold屬性:值為True則控件上所顯示的文字字體加粗,值為False(默認(rèn)值)不加粗。 例:Form1.FontBold=TrueFontStrikeThru屬性:值為True則控件上所顯示文字加刪除線;值為False(默認(rèn)值)則無刪除線。 例:Form1.FontStrikeThru=TrueFontUnderLine屬性:值為True則控件上所顯示文字下加下劃線,值為False(默認(rèn)值)則無下劃線.

例:Form1.FontUnderLine=TrueFontItalic屬性:值為True則控件上所顯示的文字為斜體,否則為標(biāo)準(zhǔn)(默認(rèn)值)。 例:Form1.FontItalic=True8、Height、Width、Top和Left屬性單位為緹(twip):1厘米=567twip注意:

Height、Width屬性決定窗體的大??;

Top、Left屬性決定窗體在屏幕中的位置。注意:窗體中控件的Top和Left屬性是相對于窗體而言的。10、ControlBox(控件菜單)屬性設(shè)置為False則無控件菜單,同時窗體也無最大化、最小化、關(guān)閉按鈕,即使MaxButton屬性和MinButton屬性設(shè)置為True。為True(默認(rèn)值)有控件菜單;為了顯示控制菜單框,還必須將窗體的

BorderStyle屬性值設(shè)置為

1(固定單邊框),2(可變尺寸)或

3(固定對話框)。

9、MaxButton(最大化按鈕)屬性和MinButton(最小化按鈕)屬性當(dāng)值為Ture,最大或最小化按鈕可用,F(xiàn)alse則禁用。11、Icon(控制圖標(biāo)屬性)返回或設(shè)置窗體左上角顯示或最小化時顯示的圖標(biāo)。注意:此屬性必須在ControlBox屬性設(shè)置為Ture才有效12.Picture圖片屬性設(shè)置窗體中要顯示的圖片,可用來給窗體界面設(shè)置背景圖案。13、MousePoint屬性該屬性設(shè)置鼠標(biāo)指針的形狀,默認(rèn)值為0。14、AutoRedraw屬性該屬性決定窗體被隱藏或被另一窗口覆蓋之后重新顯示該窗體時,是否重新還原該窗體被隱藏或覆蓋的畫面。即是否重畫如Circle、Line、Pset和Print等方法的輸出。當(dāng)為True時,重新還原該窗體以前的畫面。當(dāng)為False時,則不還原該窗體以前的畫面。15、WindowState屬性

該屬性用來設(shè)置窗體的操作狀態(tài),可以用屬性窗口設(shè)置,也可以用程序代碼設(shè)置。常數(shù)值描述vbNormal0(默認(rèn)值)正常VbMinimized1最小化(最小化為一個圖標(biāo))VbMaximized2最大化(擴(kuò)大到最大尺寸)窗體的常用事件1、Click/DblClick事件:單擊/雙擊窗體觸發(fā)。2、Load事件:窗體被裝載時觸發(fā)的事件。該事件通常用在啟動應(yīng)用程序時對屬性和變量進(jìn)行初始化。3、Unload事件卸載窗體時觸發(fā)該事件。4、Resize事件無論是因?yàn)橛脩艚换ィ€是通過代碼調(diào)整窗體的大小,(即改變窗體的Width和Height屬性時)都會觸發(fā)一個Resize事件5、MouseDown事件和MouseUp事件在窗體上按下或釋放鼠標(biāo)鍵時觸發(fā)。MouseDown事件能夠區(qū)分出鼠標(biāo)的左、右、和中間按鈕。也可以為使用ALT,CTRL和SHIFT等鍵盤換擋鍵編寫用于鼠標(biāo)—鍵盤組合操作的代碼。PrivateSubForm_MouseDown(ButtonAsInteger,_ShiftAsInteger,XAsSingle,YAsSingle)EndSub6、MouseMove事件 在窗體上移動鼠標(biāo)時觸發(fā)。MouseMove事件伴隨鼠標(biāo)指針在對象間移動時連續(xù)不斷地產(chǎn)生。除非有另一個對象捕獲了鼠標(biāo),否則,當(dāng)鼠標(biāo)位置在對象的邊界范圍內(nèi)時該對象就能接收MouseMove事件。7、KeyDown、KeyUp和KeyPress事件KeyDown事件:按下鍵盤上某個鍵時產(chǎn)生。KeyUp事件:按下鍵盤上某個鍵并釋放時產(chǎn)生。KeyPress事件:按下鍵盤上某個鍵時產(chǎn)生,但后于KeyDown事件,先于KeyUp事件。ANSI字符集:用0—255之間的數(shù)字表示鍵盤上的符號。參見書302頁窗體的常用方法

窗體常用的方法有:移動Move、顯示Show、隱藏Hide、清除Cls等方法。使用的形式:[對象.]方法[參數(shù)列表]

例如:Form1.Show1、Show方法

用于在屏幕上顯示一個窗體,調(diào)用Show方法與設(shè)置窗體Visible屬性為True具有相同的效果。其調(diào)用格式如下:

窗體名.Show[vbModal或1|vbModeless或0]說明:當(dāng)參數(shù)為vbModal/1時,為模態(tài)窗體,表示要求用戶必須對當(dāng)前的窗口或?qū)υ捒蜃龀鲰憫?yīng),最后必須關(guān)閉或隱藏模態(tài)窗口,才能切換到其它窗口。當(dāng)參數(shù)為vbModeless/0時,為非模態(tài)窗體,表示用戶不必對當(dāng)前的窗口或?qū)υ捒蜃龀鋈魏雾憫?yīng),便能切換到其它窗口。2.Hide(隱藏)方法該方法用以隱藏窗體。隱藏窗體時,它就從屏幕上被刪除,其

Visible屬性變?yōu)?/p>

False。

其調(diào)用格式為:窗體名.Hide3.Move方法形式:

對象.Move<Left>[,Top[,Width[,Height]]]作用:

移動窗體或控件,并可改變其大小。對象:可以是窗體及除時鐘、菜單外的所有控件,省略代表窗體。Left:

必需的。單精度值,指示對象左邊的水平坐標(biāo)

(x-軸)。Top:

可選的。單精度值,指示對象頂邊的垂直坐標(biāo)

(y-軸)。Width:

可選的。單精度值,指示對象新的寬度。Height:

可選的。單精度值,指示對象新的高度。5、Cls方法形式:[對象.]Cls

作用:

清除運(yùn)行時在窗體或圖形框中顯示的文本或圖形。注意:

不清除在設(shè)計(jì)時的文本和圖形。清屏后當(dāng)前坐標(biāo) 回到原點(diǎn),即CurrentX=0和CurrentY=0。CurrentX和CurrentY控制屏幕打印的起始位置。窗體的生命周期VisualBasic窗體在整個存活期中有4種狀態(tài): 創(chuàng)建狀態(tài)、加載狀態(tài)、可見狀態(tài)、卸載狀態(tài)。(1)窗體的創(chuàng)建Form_Initialize事件是創(chuàng)建狀態(tài)開始的標(biāo)志。該事件里的代碼是窗體創(chuàng)建時最先執(zhí)行的代碼。處于窗體創(chuàng)建狀態(tài)時,窗體未顯示在屏幕上,并且窗體中的控件不存在。(2)窗體的加載執(zhí)行Form_Load事件過程中的代碼創(chuàng)建和加載窗體上所有的控件,F(xiàn)orm_load事件中可以訪問窗體中的控件。窗體滿足以下任何條件都會被加載。1)該窗體在“工程屬性”對話框的“通用”選項(xiàng)卡中被指定為啟動對象。2)該窗體中首先被調(diào)用的屬性或方法是Show方法。3)首先被調(diào)用的窗體屬性或方法是窗體內(nèi)置的成員4)用Load語句加載窗體。注意:Form_Load事件過程在窗體的存活期只運(yùn)行一次

(3)窗體的顯示或隱藏顯示窗體:窗體名稱.Show隱藏窗體:窗體名稱.Hide

窗體在卸載前可以被任意隱藏或顯示。說明:在程序中,可使用它的Visible屬性,判斷一個窗體是否處于可見狀態(tài)。(4)窗體的卸載窗體卸載前發(fā)生Unload事件。

該事件發(fā)生前,有另一個重要事件發(fā)生,即QueryUnload事件。

如何結(jié)束應(yīng)用程序只有當(dāng)所有可見的及隱藏的窗體都卸載時,應(yīng)用程序才停止運(yùn)行

應(yīng)用程序只有一個窗體時,可用UnloadMe語句結(jié)束程序當(dāng)有一個以上的窗體時,用End語句結(jié)束程序。多重窗體添加窗體刪除窗體顯示窗體關(guān)閉窗體設(shè)置啟動對象2.4.1標(biāo)簽控件

標(biāo)簽控件的圖標(biāo)為

,英文名稱為Label。特點(diǎn):用于顯示信息,不能作為輸入信息的界面。

通常用標(biāo)簽控件來做一些說明,如圖中的“用戶名”、“密碼”。

標(biāo)簽控件的屬性 Name、Height、Width、Top、Left、Enabled、Visible、Font、ForeColor、BackColor等與窗體的使用相同。

1、常用屬性(1)Caption屬性指定標(biāo)簽顯示的內(nèi)容。(2)AutoSize屬性值為True時,標(biāo)簽大小根據(jù)內(nèi)容進(jìn)行水平調(diào)整;值為False時,標(biāo)簽大小不根據(jù)內(nèi)容水平調(diào)整。(3)WordWrap屬性值為True時,標(biāo)簽大小根據(jù)內(nèi)容進(jìn)行垂直調(diào)整;值為False時,標(biāo)簽大小不根據(jù)內(nèi)容垂直調(diào)整。注意:WordWrap是根據(jù)單詞換行的,英文的單詞根據(jù)空格區(qū)分,而漢字則是每字一個單詞。(4)BackStyle屬性該屬性指定

Label控件的背景是透明還是非透明。Backstyle為1(默認(rèn)值)時,不透明。

Backstyle為0時,透明。并忽略該控件的

BackColor屬性。(5)BorderStyle屬性該屬性用來設(shè)置或返回控件是否有邊框。BorderStyle值為0(默認(rèn)值)時,無邊框。BorderStyle值為1時,有邊框。

2、標(biāo)簽的常用事件Click/DblClick事件2.4.2文本框

工具箱中文本框控件的圖標(biāo)為,英文名稱為TextBox。用途:在程序運(yùn)行過程中接受用戶輸入的數(shù)據(jù),也可用來顯示程序的運(yùn)行結(jié)果。

Name、Height、Width、Top、Left、Enabled、Visible、ForeColor、BackColor等屬性與標(biāo)簽控件、窗體控件相同。

1.其它常用屬性(1)Text屬性Text屬性指定了文本框控件實(shí)際顯示的文本。有三種方式設(shè)置Text屬性:設(shè)計(jì)時在“屬性”窗口設(shè)置運(yùn)行時通過代碼設(shè)置在運(yùn)行時由用戶輸入注意:文本框沒有Caption屬性(2)PassWordChar屬性當(dāng)

PasswordChar屬性設(shè)置為長度為

0的字符串

(“”)(默認(rèn)值),顯示實(shí)際的文本。當(dāng)

PasswordChar屬性設(shè)置為任意一個字符(通常Windows的應(yīng)用程序使用星號“*”),文本框中就只顯示該字符。此屬性不影響Text屬性里面的真實(shí)內(nèi)容。(3)MaxLength屬性該屬性值設(shè)定在文本框控件中能夠輸入的最大字符數(shù)。為0時,表示文本框中可以輸入任意長字符數(shù),但不得多于65535例如:執(zhí)行下列語句后,窗體上文本框內(nèi)顯示“abcdefghij”。

Text1.MaxLength=10 Text1.Text="abcdefghijk12345"(4)MultiLine屬性該屬性值設(shè)定Text字符串中是否接受能換行符。為False(默認(rèn)值)時,文本框中忽略回車符并將內(nèi)容限制在一行內(nèi)。為True時,文本框允許顯示多行文本。在程序設(shè)計(jì)階段,輸入的文本未到邊界時,換行應(yīng)按Ctrl+回車鍵。在程序運(yùn)行階段,用賦值語句修改Text屬性時,換行必須加入回車符及換行符才可換行。例如:Text1.Text="

one"&Chr(13)&Chr(10)&"

Two“或:Text1.Text="one"&VBCrLf&"Two“(5)ScrollBars屬性該屬性決定是否為文本框加滾動條。當(dāng)文本過長,超出文本框的邊界時,應(yīng)該給該控件添加滾動條。ScrollBars的屬性值有下列幾種:為0(默認(rèn)值)時,無滾動條。為1時,加水平滾動條。為2時,加垂直滾動條。為3時,同時加水平和垂直滾動條。注意:加滾動條必須先將MultiLine屬性設(shè)為True(6)文本編輯相關(guān)屬性主要有下列幾個:SelStart屬性:

返回或設(shè)置所選擇文本的起始點(diǎn);如果沒有文本被選中,則指出插入點(diǎn)的位置。SelLength屬性:返回或設(shè)置所選擇的字符數(shù)。SelText屬性:返回或設(shè)置包含當(dāng)前所選擇文本的字符串;如果沒有字符被選中,則為零長度字符串

(“”)。注意:窗口焦點(diǎn)問題。在代碼中控件獲取焦點(diǎn)的方法:

控件名.setForcus(7)Locked屬性設(shè)置文本框是否可以允許用戶直接編輯輸入。若為True,則用戶不能直接更改文本框的內(nèi)容;若為False,則用戶能直接更改文本框的內(nèi)容。注意:區(qū)別于Enable屬性。文本框的常用事件(1)Change事件當(dāng)文本框中的內(nèi)容改變時,觸發(fā)該事件,它的特點(diǎn)是即時性的,可以隨時看見改變的效果。(2)Keypress事件用戶在文本框中按任意鍵觸發(fā)。該事件過程有一個形參變量KeyAscii,獲取按鍵的Ascii碼。例:編程將輸入到TextBox控件的文本轉(zhuǎn)換為大寫。解:1)界面設(shè)計(jì),如圖所示。2)代碼設(shè)計(jì)。PrivateSubText1_KeyPress(KeyAsciiAsInteger)KeyAscii=Asc(UCase(Chr(KeyAscii)))EndSub2.4.3命令按鈕

工具箱中的圖標(biāo)為。英文名稱為CommandButton。命令按鈕控件的Caption屬性、控件名稱的默認(rèn)值都為Command1、Command2……(1)Caption屬性該屬性定義了按鈕上顯示的內(nèi)容;可利用命令按鈕控件的Caption屬性為該按鈕設(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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論