版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第2章對象2.1對象及其屬性設(shè)置2.2窗體2.3控件2.4控件的畫法和基本操作編程思想主要分為兩類:面向過程和面向?qū)ο?。?)面向過程
是一種以過程為中心的編程思想,也可稱之為“面向記錄”編程思想,它不支持豐富的“面向?qū)ο蟆碧匦裕ū热缋^承、多態(tài)),并且它不允許混合持久化狀態(tài)和域邏輯。就是分析出解決問題所需要的步驟,然后用函數(shù)把這些步驟一步一步實現(xiàn),使用的時候一個一個依次調(diào)用就可以了。編程思想編程思想主要分為兩類:面向過程和面向?qū)ο?。?)面向?qū)ο?/p>
是一種以事物為中心的編程思想,具有封裝、繼承和多態(tài)的特性。就是把構(gòu)成問題的事務(wù)分解成若干個對象,建立對象的目的不是為了完成一個步驟,而是為了描述某個事物在整個解決問題步驟中的行為。編程思想編程思想主要分為兩類:面向過程和面向?qū)ο?。?)公共汽車“面向過程”就是汽車啟動是一個事件,汽車到站是另一個事件。在編程序的時候我們關(guān)心的是某一個事件,而不是汽車本身。我們分別對啟動和到站編寫程序。類似的還有修理等等。編程思想實例publicclass運營
{
void
汽車啟動
{
}
void
汽車到站
{
}
}編程思想實例面向過程編程:“面向?qū)ο蟆毙枰⒁粋€汽車的實體,由實體引發(fā)事件。我們關(guān)心的是由汽車抽象成的對象,這個對象有自己的屬性,像輪胎,顏色等;有自己的方法,象啟動,行駛等。方法也就是汽車的行為,而不是汽車的每個事件。編程思想實例publicclass汽車
{
void
到站()
{
}
void
啟動()
{
}
}
編程思想實例面向?qū)ο缶幊蹋壕幊趟枷胫饕譃閮深悾好嫦蜻^程和面向?qū)ο?。?)五子棋“面向過程”的設(shè)計思路就是首先分析問題的步驟:1、開始游戲,2、黑子先走,3、繪制畫面,4、判斷輸贏,5、輪到白子,6、繪制畫面,7、判斷輸贏,8、返回步驟2,9、輸出最后結(jié)果。
把上面每個步驟用分別的函數(shù)來實現(xiàn),問題就解決了。
編程思想實例“面向?qū)ο蟆钡脑O(shè)計則是從另外的思路來解決問題。整個五子棋可以分為:1、黑白雙方,這兩方的行為是一模一樣的,2、棋盤系統(tǒng),負責(zé)繪制畫面,3、規(guī)則系統(tǒng),負責(zé)判定諸如犯規(guī)、輸贏等。第一類對象(玩家對象)負責(zé)接受用戶輸入,并告知第二類對象(棋盤對象)棋子布局的變化,棋盤對象接收到了棋子的變化就要負責(zé)在屏幕上面顯示出這種變化,同時利用第三類對象(規(guī)則系統(tǒng))來對棋局進行判定。編程思想實例★面向?qū)ο笫且怨δ軄韯澐謫栴},而不是步驟。
同樣是繪制棋局,這樣的行為在面向過程的設(shè)計中分散在了許多步驟中,很可能出現(xiàn)不同的繪制版本,因為通常設(shè)計人員會考慮到實際情況進行各種各樣的簡化。而面向?qū)ο蟮脑O(shè)計中,繪圖只可能在棋盤對象中出現(xiàn),從而保證了繪圖的統(tǒng)一。
★功能上的統(tǒng)一保證了面向?qū)ο笤O(shè)計的可擴展性??梢悦黠@看出,悔棋
五子棋圍棋2.1對象及其屬性設(shè)置一、什么是對象?(1)對象是系統(tǒng)中基本的運行實體。將數(shù)據(jù)和處理該數(shù)據(jù)的過程(函數(shù)和子程序)打包在一起而生成的新的數(shù)據(jù)類型稱之為對象。(2)VisualBasic是一種面向?qū)ο?ObjectOriented)的語言。
在VisualBasic中,所有的窗體和控件都是對象。
對象是一個功能和數(shù)據(jù)獨立的單元,有其自身的屬性、方法和可為別人所做的工作,互相之間只能通過對象認可的途徑進行通訊來完成任務(wù),相互之間沒有預(yù)料不到的影響,也可以較為自由地為各個不同的軟件所使用。這種代碼共享避免了重復(fù)的代碼設(shè)計,提高了軟件開發(fā)的效率。面向?qū)ο蟮脑O(shè)計方法把系統(tǒng)中的所有資源,如數(shù)據(jù)、模塊以及系統(tǒng)都看成對象,每個對象把一組數(shù)據(jù)類型和一組過程封裝在一起,使得這組過程了解對這一數(shù)據(jù)類型的處理,并在定義對象時可以規(guī)定外界在其運行上的權(quán)限。使用這一方法,設(shè)計人員可以依照自己的意圖創(chuàng)建自己的對象,并將問題映射到該對象上。
1、預(yù)定義對象:由系統(tǒng)設(shè)計的,可直接使用或操作;2、自定義對象:用戶根據(jù)自己的需要自己設(shè)計建立的對象。窗體和控件是VB最基本的對象。除此之外還有:打印機、調(diào)試、剪貼板、屏幕等對象。二、對象的分類三、如何使用對象?對象是具有特殊屬性和行為方式的實體。通常通過設(shè)置對象的屬性、方法和事件來操作對象。什么是屬性:屬性是對象的一個特性或者該對象操作的一個方面。例如,文本框的屬性包括Backcolor、Forecolor、Enabled、Height、Width、Left、Top、Name等屬性。要更改一個對象的屬性,可以修改屬性的值。什么是事件(Event):所謂事件是由VisualBasic預(yù)先設(shè)置好的、能被對象識別的動作。是用戶與程序交互的紐帶。什么是方法(Method):
VisualBasic的對象也有動作和行為,也就是說它們“知道”該怎么做。這些動作就叫做對象的方法。方法就象是動詞。例如,窗體的顯示或隱藏就是方法(Demo)。VisualBasic中的窗體和控件都有其各自的屬性。不過,有一些屬性適用于大多數(shù)對象:Name
設(shè)置控件名稱,作為訪問控件的屬性和方法的依據(jù)。Appearance
設(shè)置控件的外觀。BackColor
設(shè)置顯示文字或繪制圖形時的背景顏色。ForeColor
設(shè)置前景顏色。Font
設(shè)置控件文本所用字體的種類、字號和屬性。四、常見的屬性Caption
設(shè)置不接受輸入的控件上顯示的文本,如標簽的文本。
Text
設(shè)置接受輸入的控件上顯示的文本,如文本框的文本。
Width、Height
設(shè)置控件的尺寸。
Left、Top
設(shè)置控件的左上角坐標。
Enabled
設(shè)置控件是否激活。缺省情況下為True;設(shè)置為False時控件不可用,顏色變?yōu)榛疑?/p>
Visible
設(shè)置控件是否可見,缺省時為可見。五、常見的方法窗體常用的方法
Print方法
Cls(清除)方法
窗體名.Cls
Move方法
窗體名.MoveLeft[,Top[,Width[,Height]]]
其中,left、top、width、height都是單精度型數(shù)據(jù),分別用來表示窗體對于Screen的邊緣位置和窗體大小。Show方法
用于在屏幕上顯示一個窗體
Hide方法
用于窗體的隱藏
窗體名.Hide
六、常見事件Click事件
程序運行時,單擊窗體的某個位置,VisualBasic將調(diào)用窗體的Form_Click事件。如果是在窗體內(nèi)的控件上單擊的,那么只能調(diào)用控件上的Click事件。
DblClick事件
在窗體的某個位置雙擊,VisualBasic會調(diào)用Form_DblClick事件,而且第一次按下鼠標的時候會先調(diào)用Click事件。
Load事件
程序運行的時候,窗體被載入內(nèi)存將觸發(fā)Load事件。該事件一般用來對屬性和變量的初始化。
UnLoad事件
卸載窗體時候觸發(fā)的事件。
Resize事件
2.2窗體一、什么是窗體(Form)窗體是VB中的對象,具有自己的屬性、方法和事件。程序設(shè)計階段稱為窗體(Form),程序運行階段稱為窗口(Window)。窗口包括:系統(tǒng)菜單(單擊左上角圖標)、最大化、最小化及關(guān)閉按鈕。畫布(Canvas)工作臺(Workbench)是應(yīng)用程序與外界交互的界面每個窗體對應(yīng)一個窗口。Demo窗體對象是VisualBasic應(yīng)用程序的基本構(gòu)造模塊,是運行應(yīng)用程序時,與用戶交互操作的實際窗口。窗體和控件有自己的屬性、事件和方法,可以控制窗體的外觀和行為。Demo(2_1)
屬性:指對象(窗體,控件)的大小、顏色、方位等一系列外觀或內(nèi)部構(gòu)造的特征。
方法:指對象(窗體,控件)所進行的操作。
事件:指對象(窗體,控件)對外部條件的響應(yīng)。
設(shè)計窗體的第一步是設(shè)置它的屬性。這可以在設(shè)計時在“屬性”窗口中完成,或者運行時由代碼來實現(xiàn)。注意(Attention)
設(shè)計時,即在VisualBasic環(huán)境中創(chuàng)建應(yīng)用程序的任何時刻。此時,可以操作窗體和控件,設(shè)置它們的屬性,對它們的事件進行編程。
運行時是實際運行應(yīng)用程序,并與應(yīng)用程序進行交互的時間。窗體的許多屬性會影響窗體的外觀。Caption屬性決定窗體標題欄中顯示的文本。Icon屬性設(shè)置在窗體最小化時顯示的圖標。MaxButton和MinButton屬性決定窗體是否能最大化或最小化。BorderStyle屬性,可以控制窗體如何調(diào)整大小。二、設(shè)置窗體屬性Height
和Width
屬性決定窗體的初始大?。籐eft
和Top
屬性根據(jù)屏幕的左上角確定窗體的位置。WindowState
屬性可以把窗體設(shè)成在啟動時最大化、最小化或正常大小。Name
屬性設(shè)置窗體的名稱,在代碼中用這個名稱引用該窗體。首次在工程中添加窗體時,該窗體的名稱被缺省為Form1;添加第二個窗體,其名稱被缺省為Form2,依次類推。最好給Name屬性設(shè)置一個有實際意義的名稱,如給一個條目窗體命名為“frmEntry”(匈牙利命名規(guī)則)。對象前綴確認框(CheckBox)chk組合框(ComboBox)cbo命令鈕(CommandButton)cmd數(shù)據(jù)庫控件(DataControl)
dat目錄列表框(DirectoryListBox)dir驅(qū)動器列表框(DriveListBox)drv文件列表框(FileListBox)
fil窗體(Form)
frm框架(Frame)fra水平滾動HorizontalScrollBarhsb對象前綴圖形(Image)img標簽(Label)lbl線(Line)
lin列表框(ListBox)
lst菜單(Menu)mnu單選按鈕(OptionButton)
opt圖形框(PictureBox)
pic幾何圖形(Shape)
shp文本框(TextBox)
txt垂直滾動條VerticalScrollBarvsb控件命名推薦方法控件的name可命名為:對象前綴+自定義名,如:cmdExit三、窗體的屬性窗體的屬性決定了窗體的外觀(Appearance)和操作(Operation)。屬性設(shè)置方法:1、通過屬性窗口設(shè)置;2、事件執(zhí)行過程中通過代碼設(shè)置。設(shè)計階段所設(shè)置的屬性稱為“只讀屬性”AutoRedraw屬性返回或設(shè)置從圖形方法到持久圖形的輸出。語法object.AutoRedraw[=Boolean]部分描述Object對象表達式,其值是“應(yīng)用于”列表中的一個對象。Boolean布爾表達式,指定如何重繪對象。AutoRedraw屬性語法包含下面部分:(缺省值)使對象的自動重繪無效,且將圖形或文本只寫到屏幕上。當需要重畫該對象時,VisualBasic會激活對象繪制事件。False設(shè)置值Boolean的設(shè)置值如下:Form對象或PictureBox控件的自動重繪有效。圖形和文本輸出到屏幕,并存儲在內(nèi)存的圖象中。該對象不接受繪制事件,必要時,用存儲在內(nèi)存中的圖象進行重繪。TrueRefresh示例(Example)該窗體有一個名叫Picture1的PictureBox控件。改變紅體字,調(diào)整窗體大小時,觀察圖形變化。Demo(2_2)PrivateSubForm_Load()Picture1.ScaleHeight=100'設(shè)置比例為100.Picture1.ScaleWidth=100Picture1.ForeColor=0'設(shè)置ForeColor.Picture1.FillColor=QBColor(9)'設(shè)置FillColor.Picture1.FillStyle=0'設(shè)置FillStyle.Picture1.Circle(50,50),30'畫一個圓.EndSubPrivateSubPicture1_Click()DimI'Declarevariable.
'Picture1.AutoRedraw=TruePicture1.ForeColor=RGB(Rnd*255,0,0)'選擇隨機顏色.ForI=5To95Step10'畫線.Picture1.Line(I,0)-(I,100)NextPicture1.Circle(50,50),30
'Picture1.AutoRedraw=False
EndSubBackColor、ForeColor屬性BackColor-返回或設(shè)置對象的背景顏色。ForeColor-設(shè)置對象里顯示圖片和文本的前景顏色。語法
object.BackColor[=color]object.ForeColor[=color]部分描述Object對象表達式,其值是“應(yīng)用于”列表中一個對象。Color值或常數(shù),確定對象前景或背景的顏色。BackColor和ForeColor屬性語法包含下面部分:設(shè)置值VisualBasic用MicrosoftWindows運行環(huán)境的紅-綠-藍(RGB)顏色方案。color的設(shè)置值如下:設(shè)置值描述使用調(diào)色板或在代碼中使用RGB或QBColor函數(shù)指定的顏色。標準RGB顏色由對象瀏覽器中的VisualBasic(VB)對象庫所列的系統(tǒng)顏色常數(shù)指定的顏色。Windows運行環(huán)境替換使用用戶在控制面板設(shè)置值中的選擇。對所有的窗體和控件,在設(shè)計時的缺省設(shè)置值如下:BackColor-設(shè)置為由常數(shù)
vbWindowBackground定義的系統(tǒng)缺省顏色。ForeColor-設(shè)置為由常數(shù)
vbWindowText定義的系統(tǒng)缺省顏色。系統(tǒng)缺省顏色標準RGB顏色的有效取值范圍是0到16,777,215(&HFFFFFF)。該范圍內(nèi)數(shù)的高字節(jié)為0;較低的3個字節(jié),從最低字節(jié)到最高字節(jié)依次決定紅、綠和藍的量。紅、綠和藍的成分,分別由一個介于0與255(&HFF)之間的數(shù)來表示。如果最高字節(jié)不為0,VisualBasic將使用系統(tǒng)顏色??蓮膶傩源翱诟腂ackColor、ForColor屬性示例這個例子每秒鐘兩次隨機地重新設(shè)置窗體(Form)和PictureBox控件的前景顏色和背景顏色。要嘗試這個例子,請將代碼粘貼到包含PictureBox控件和Timer控件窗體的聲明部分,然后按F5鍵。BackColor、ForColor屬性示例PrivateSubForm_Load()Timer1.Interval=500EndSubPrivateSubTimer1_Timer()BackColor=QBColor(Rnd*15)Picture1.BackColor=QBColor(Rnd*15)Picture1.ForeColor=QBColor(Rnd*10)EndSub
Demo(2_3)BorderStyle屬性返回或設(shè)置對象的邊框樣式。對Form對象和Textbox控件在運行時是只讀的。語法Demo(2_4)object.BorderStyle=[value]BorderStyle屬性語法有這些組成部分:部分描述Object對象表達式,其值是“應(yīng)用于”列表中
的一個對象。Value值或常數(shù),用于決定邊框樣式。設(shè)置值Form對象的BorderStyle屬性設(shè)置值如下:常數(shù)設(shè)置值描述BSNone0無(沒有邊框或與邊框相關(guān)的元素)。固定單邊框??梢园刂撇藛慰?,標題欄,“最大化”按鈕,和“最小化”按鈕。只有使用最大化和最小化按鈕才能改變大小。(缺省值)可調(diào)整的邊框。可以使用設(shè)置值1列出的任何可選邊框元素重新改變尺寸。固定對話框。可以包含控制菜單框和標題欄,不能包含最大化和最小化按鈕,不能改變尺寸。固定工具窗口。不能改變尺寸。顯示關(guān)閉按鈕并用縮小的字體顯示標題欄。窗體在Windows95的任務(wù)條中不顯示??勺兂叽绻ぞ叽翱凇?勺兇笮?。顯示關(guān)閉按鈕并用縮小的字體顯示標題欄。窗體在Windows95的任務(wù)條中不顯示。FixedSingle1Sizable2FixedDouble3FixedToolWindow4SizableToolWindow5Caption屬性窗體對象-顯示在Form或MDIForm對象標題欄中的文本。當窗體為最小化時,該文本被顯示在窗體圖標的下面。控件對象-確定顯示在控件中還是附在控件之后的文本。MenuLine對象-確定為Menu控件還是為MenuItems集合中的對象顯示的文本。可通過窗口設(shè)置,也可以通過程序代碼設(shè)置。語法object.Caption[=string]Caption屬性的語法包含下面部分:部分描述Object
對象表達式,其值是“應(yīng)用于”列表中的一個
對象。如果object被省略,那么與活動窗體模塊相聯(lián)系的窗體被認為是object。String
字符串表達式,其值是被顯示為標題的文本。當創(chuàng)建一個新的對象時,其缺省標題為缺省的Name屬性設(shè)置。該缺省標題包括對象名和一個整數(shù),如Command1或Form1。為了獲得一個描述更清楚的標簽,應(yīng)對Caption屬性進行設(shè)置。
Caption屬性示例用戶每次單擊按鈕將改變CommandButton控件的Caption屬性。要試用此例,先將下面的代碼粘貼到一個包含名為Command1的CommandButton窗體的聲明部分,然后按下F5鍵并單擊按鈕。Demo(2_5)PrivateSubCommand1_Click()
'檢查標題,然后改變它。注釋(Annotation)
IfCommand1.Caption="Clicked"ThenCommand1.Caption="OK"ElseCommand1.Caption="Clicked"EndIfEndSubControlBox屬性返回或設(shè)置一個值,指示在運行時控制菜單框是否在窗體中顯示。在運行時為只讀。語法Object.ControlBoxobject所在處表示對象表達式,其值是“應(yīng)用于”列表中的一個對象。ControlBox屬性設(shè)置值如下:設(shè)置值描述True(缺省值)顯示控制菜單框。False刪除控制菜單框。為了顯示控制菜單框,還必須將窗體的BorderStyle屬性值設(shè)置為1(固定單邊框),2(可變尺寸)或3(固定對話框)。Enabled屬性返回或設(shè)置一個值,該值用來確定一個窗體或控件是否能夠?qū)τ脩舢a(chǎn)生的事件作出響應(yīng)。語法
Object.Enabled[=Boolean]Enabled屬性Enabled屬性的語法包含下面部分:部分描述Object對象表達式,其值是“應(yīng)用于”列表中的一個
對象。如果object被省略,則與活動窗體模塊
相聯(lián)系的窗體被認為是object。Boolean一個用來指定object是否能夠?qū)τ脩舢a(chǎn)生的事件作出反應(yīng)的布爾表達式。設(shè)置Boolean的設(shè)置為:設(shè)置描述True(缺省)允許object對事件作出反應(yīng)。False阻止object對事件作出反應(yīng)。Enabled屬性示例該例子用TextBox控件是否包含文本這一條件來控制CommandButton控件的有效性。要試用此例,先將下面的代碼粘貼到帶有CommandButton和TextBox控件的一個窗體的聲明部分,然后按下F5鍵并在文本框中隨意輸入一些內(nèi)容。Demo(2_6)
Enabled屬性示例PrivateSubForm_Load()
Text1.Text=""'清除文本框的內(nèi)容。
Command1.Caption="Save"'在按鈕上放置標題。EndSubPrivateSubText1_Change()IfText1.Text=""Then'查看文本框是否為空。
Command1.Enabled=False'使按鈕無效。
Else
Command1.Enabled=True'使按鈕有效。
EndIfEndSub觀察文本框有、無內(nèi)容時的差異設(shè)置字體特征顯示文本(作為文本或標題)的窗體、控件,以及支持Font屬性的Printer對象,它們將確定文本的可視特征,包括:字體名(字樣)
字體大小(用磅表示)
特別特征(黑體、斜體、下劃線或刪除線)設(shè)置字體屬性在設(shè)計時,通過雙擊“屬性”窗口中的“字體”,可以任意設(shè)置字體屬性,然后在“字體”對話框中可進行屬性的設(shè)定。在運行時,通過設(shè)置各個窗體和控件的Font對象的屬性,可以設(shè)定字體的特征。下表說明了Font對象的一些屬性。Font示例改變文本框內(nèi)字體的大??;添加一個CommandButton和一個TextBox。
Demo(2_7)PrivateSubCommand1_Click()
Text1.Font.Name="Arial"
Text1.Font.Size=20
Text1.Font.Bold=True
Form1.Font.Size=50
Print"2341234"EndSub創(chuàng)建自己的字體類型可以使用StdFont類來創(chuàng)建自己的字體類型。可以使用以下語法:
DimMyFontAsFont但是,不能使用:
DimMyFontAsNewFont相反,要創(chuàng)建自己的字體或圖片類型,使用下面的代碼:DimMyFontAsNewStdFontWithMyFont.Bold=True.Name="Arial"EndWithSetText1.Font=MyFont上個例子可以改成如下代碼:PrivateSubCommand1_Click()DimMyFontAsNewStdFontWithMyFont.Bold=True.Name="Arial".Size=50EndWithSetText1.Font=MyFontSetForm1.Font=MyFontPrint"2341234"EndSubHeight、Width屬性返回或設(shè)置對象的維數(shù)、或DataGrid控件Columns對象的寬度。對于Printer和Screen對象,在設(shè)計時不可用。語法object.Height[=number]object.Width[=number]Height和Width屬性語法包含下面部分:Height、Width屬性示例這個例子在窗體被加載時,將窗體的大小設(shè)置為屏幕大小的75%并使窗體居中顯示。要嘗試這個例子,請將代碼粘貼到窗體的聲明部分。然后按F5鍵并單擊窗體。PrivateSubForm_Click()Width=Screen.Width*0.75'設(shè)置窗體的寬度。
Height=Screen.Height*0.75'設(shè)置窗體的高度。
Left=(Screen.Width-Width)/2'在水平方向上居中顯示。
Top=(Screen.Height-Height)/2'在垂直方向上居中顯示。EndSubDemo(2_8)Visible屬性返回或設(shè)置一指示對象為可見或隱藏的值。語法
object.Visible[=Boolean]Visible屬性語法包含下面部分:Boolean的設(shè)置值為:注意(Attention)(1)要在啟動時隱藏一個對象,在設(shè)計時將Visible屬性設(shè)置為False。在代碼中設(shè)置該屬性能夠在運行時隱藏然后又重新顯示控件以響應(yīng)某特別事件。(2)對窗體用Show或Hide方法,和在代碼中將Visible屬性分別設(shè)置為True或False的效果是一樣的。PrivateSubForm_Load()DimI'聲明變量。
FileCab(0).BorderStyle=0'設(shè)置BorderStyle。
FileCab(1).BorderStyle=0'將圖標加載到圖片框。
FileCab(1).Picture=LoadPicture(“C:\Apple.ico")FileCab(0).Picture=LoadPicture(“C:\Java.ico")FileCab(1).Visible=False'設(shè)置為不可視。
FileCab(0).Visible=True'設(shè)置為可視。EndSubPrivateSubFileCab_Click(IndexAsInteger)DimI'聲明變量。
ForI=0To1'切換兩張圖片的可視性。
FileCab(I).Visible=NotFileCab(I).VisibleNextIEndSub這個窗體包含兩個和圖標大小相等的PictureBox控件。將兩PictureBox控件的Name屬性設(shè)置為FileCab來創(chuàng)建數(shù)組,Demo(2_9)窗體事件和方法窗體作為對象,能夠執(zhí)行方法并對事件作出響應(yīng)。無論是因為用戶交互,還是通過代碼調(diào)整窗體的大小,都會觸發(fā)一個Resize事件。當窗體尺寸變化時,允許在窗體上進行移動控件或調(diào)整控件大小等操作。要使一個窗體可見,調(diào)用Show方法。PrivateSubCommand1_Click()Form1.HideForm2.ShowEndSubDemo(2_10)窗體激活演示每當一個窗體變成活動窗體時,就會產(chǎn)生一個Activate事件;當另一個窗體或應(yīng)用程序被激活時,就會產(chǎn)生Deactivate事件。這些事件對初始化或結(jié)束窗體行為十分方便。例如,在Activate事件中,可以編寫代碼突出顯示一個特定文本框中的文本;在Deactivate事件中,可以把更改保存到一個文件或數(shù)據(jù)庫中。除窗體設(shè)計原理以外,還需考慮應(yīng)用程序的開始與結(jié)束。有一些技巧用于決定應(yīng)用程序啟動時的外觀。熟悉應(yīng)用程序卸載時進行的一些處理也很重要。設(shè)置啟動窗體在缺省情況下,應(yīng)用程序中的第一個窗體被指定為啟動窗體。應(yīng)用程序開始運行時,此窗體就被顯示出來(因而最先執(zhí)行的代碼是該窗體的Form_Initialize事件中的代碼)。如果想在應(yīng)用程序啟動時顯示別的窗體,那么就得改變啟動窗體。要改變啟動窗體,請按照以下步驟執(zhí)行:(1)從“工程”菜單中,選取“工程屬性”。
(2)選取“一般”或“通用”。
(3)“啟動對象”ListBox中,選取要作為新啟動窗體的窗體。
(4)單擊“確定”。結(jié)束應(yīng)用程序當所有窗體都已關(guān)閉并且沒有代碼正在執(zhí)行時,事件驅(qū)動的應(yīng)用程序就停止運行。如果最后一個可見窗體關(guān)閉時仍有隱藏窗體存在,那么,應(yīng)用程序表現(xiàn)為已經(jīng)結(jié)束了(因為沒有可見的窗體),可實際上應(yīng)用程序仍在繼續(xù)運行,直至所有隱藏窗體都關(guān)閉為止。避免出現(xiàn)關(guān)閉應(yīng)用程序時的這類問題,最好的辦法是確保所有的窗體都已卸載。如果應(yīng)用程序只有一個窗體,則Click事件過程可簡單為:Demo(2_10)PrivateSubCommand1_Click()UnloadMeEndSub如果應(yīng)用程序使用多窗體,通過把代碼放入主窗體的Unload事件過程可以卸載這些窗體。可以使用Forms集合確保找到并關(guān)閉所有窗體。下列代碼就是使用窗體集合來卸載所有窗體的:PrivateSubCommand1_Click()DimMyFormAsFormForEachMyFormInForms
UnloadMyFormNextEndSub窗體事件Click事件此事件是在一個對象上按下然后釋放一個鼠標按鈕時發(fā)生。它也會發(fā)生在一個控件的值改變時。對一個Form對象來說,該事件是在單擊一個空白區(qū)或一個無效控件時發(fā)生。語法PrivateSubForm_Click()PrivateSubobject_Click([indexAsInteger])Click事件的語法包括下列部分:部分描述Object一個對象表達式,其值是“應(yīng)用于”列表中的一個對象。Index一個整數(shù),用來唯一地標識一個在控件數(shù)組中的控件。PrivateSubform_Click()Picture1.MovePicture1.Left+750,Picture1.Top-550EndSub窗體的左下角處有一個PictureBox控件。Demo(2_11)DblClick事件當在一個對象上按下和釋放鼠標按鈕并再次按下和釋放鼠標按鈕時,該事件發(fā)生。對于窗體而言,當雙擊被禁用的控件或窗體的空白區(qū)域時,DblClick事件發(fā)生。語法PrivateSubForm_DblClick()PrivateSubobject_DblClick(indexAsInteger)部分描述Object對象表達式,其值是“應(yīng)用于”列表中的一個對象。Index如果控件在控件數(shù)組內(nèi),則這個index值就用來標識該控件。Load事件此事件是在一個窗體被裝載
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 教研成果成果轉(zhuǎn)化
- 裝修設(shè)計師的工作總結(jié)
- 房地產(chǎn)行業(yè)設(shè)計師工作總結(jié)
- 2024年爬山安全教案
- 2024年計算機應(yīng)屆生簡歷
- 農(nóng)田租賃協(xié)議書(2篇)
- 2024年苯噻草胺項目營銷方案
- 《贛州市國家稅務(wù)局》課件
- 烏魯木齊市實驗學(xué)校2023-2024學(xué)年高三上學(xué)期1月月考政治試題(解析版)
- 甘肅省部分學(xué)校2025屆高三上學(xué)期第一次聯(lián)考(期末)歷史試卷(含答案解析)
- 08S305-小型潛水泵選用及安裝圖集
- 視頻監(jiān)控室值班記錄表
- 歌曲《梁?!泛喿V完整版
- 四川2020版清單定額
- 教材編寫工作總結(jié)
- 企業(yè)員工上下班交通安全培訓(xùn)(簡詳共2份)
- 城市高密度建成區(qū)合流制溢流污染系統(tǒng)研究-黃孝河機場河水環(huán)境綜合治理項目實踐
- word 公章 模板
- T∕ZSQX 008-2020 建設(shè)工程全過程質(zhì)量行為導(dǎo)則
- ISO-IEC17025-2017實驗室管理體系全套程序文件
- 深圳智能水表項目商業(yè)計劃書_參考模板
評論
0/150
提交評論