VB程序設(shè)計(jì)-第2章面向?qū)ο蟮木幊袒A(chǔ)ppt課件_第1頁
VB程序設(shè)計(jì)-第2章面向?qū)ο蟮木幊袒A(chǔ)ppt課件_第2頁
VB程序設(shè)計(jì)-第2章面向?qū)ο蟮木幊袒A(chǔ)ppt課件_第3頁
VB程序設(shè)計(jì)-第2章面向?qū)ο蟮木幊袒A(chǔ)ppt課件_第4頁
VB程序設(shè)計(jì)-第2章面向?qū)ο蟮木幊袒A(chǔ)ppt課件_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、VB程序設(shè)計(jì)程序設(shè)計(jì)第二章第二章 面向?qū)ο蟮木幊袒A(chǔ)面向?qū)ο蟮木幊袒A(chǔ) 本章知識(shí)點(diǎn):本章知識(shí)點(diǎn): 面向?qū)ο蟮某绦蛟O(shè)計(jì)技術(shù)概述;對(duì)象的概念、面向?qū)ο蟮某绦蛟O(shè)計(jì)技術(shù)概述;對(duì)象的概念、屬性、方法和事件;屬性、方法和事件;VB程序結(jié)構(gòu)及事件驅(qū)程序結(jié)構(gòu)及事件驅(qū)動(dòng)編程機(jī)制;窗體與常用控件及其應(yīng)用。動(dòng)編程機(jī)制;窗體與常用控件及其應(yīng)用。2.1 2.1 面向?qū)ο蟮某绦蛟O(shè)計(jì)技術(shù)概述面向?qū)ο蟮某绦蛟O(shè)計(jì)技術(shù)概述2.2 Visual Basic2.2 Visual Basic中的對(duì)象中的對(duì)象2.3 VB2.3 VB程序結(jié)構(gòu)與事件驅(qū)動(dòng)編程機(jī)制程序結(jié)構(gòu)與事件驅(qū)動(dòng)編程機(jī)制2.4 2.4 窗體與控件窗體與控件2.1 2.1 面

2、向?qū)ο蟮某绦蛟O(shè)計(jì)技術(shù)概述面向?qū)ο蟮某绦蛟O(shè)計(jì)技術(shù)概述 2.1.1 2.1.1 面向?qū)ο蟮母拍蠲嫦驅(qū)ο蟮母拍? 1類與對(duì)象類與對(duì)象 一個(gè)類描述一類事物,描述這些事物所具有的共同一個(gè)類描述一類事物,描述這些事物所具有的共同特征屬性),即用類來抽象定義同類對(duì)象。一個(gè)對(duì)象特征屬性),即用類來抽象定義同類對(duì)象。一個(gè)對(duì)象是類的一個(gè)實(shí)例,它具有確定的屬性。是類的一個(gè)實(shí)例,它具有確定的屬性。 參見下圖:參見下圖: 1 1個(gè)職工類具有姓名、性別、年齡、職個(gè)職工類具有姓名、性別、年齡、職業(yè)業(yè). . .等共同屬性,它屬抽象類。無數(shù)具有確定屬性的等共同屬性,它屬抽象類。無數(shù)具有確定屬性的職工,如陳紅、劉立、職工,如陳紅

3、、劉立、.是職工類的實(shí)例對(duì)象)。是職工類的實(shí)例對(duì)象)。 2.1 2.1 面向?qū)ο蟮某绦蛟O(shè)計(jì)技術(shù)概述面向?qū)ο蟮某绦蛟O(shè)計(jì)技術(shù)概述 2.1.1 2.1.1 面向?qū)ο蟮母拍蠲嫦驅(qū)ο蟮母拍? 2對(duì)象的三要素對(duì)象的三要素 在面向?qū)ο蟮南到y(tǒng)中,世界被看成是獨(dú)立在面向?qū)ο蟮南到y(tǒng)中,世界被看成是獨(dú)立“對(duì)象的對(duì)象的集合。即屬性、方法、事件構(gòu)成一個(gè)對(duì)象的三要素。集合。即屬性、方法、事件構(gòu)成一個(gè)對(duì)象的三要素。屬性屬性 描述對(duì)象的特征描述對(duì)象的特征方法方法 反映對(duì)象動(dòng)作的行為反映對(duì)象動(dòng)作的行為事件事件 對(duì)象可能發(fā)生的一切活動(dòng)對(duì)象可能發(fā)生的一切活動(dòng) 如一個(gè)人作為對(duì)象有姓名、身高、體重等屬性;有如一個(gè)人作為對(duì)象有姓名、身高

4、、體重等屬性;有走路、思索、開車等行為;還有在一定條件下發(fā)生的事走路、思索、開車等行為;還有在一定條件下發(fā)生的事件。件。 2.1.2 2.1.2 面向?qū)ο蟮某绦蛟O(shè)計(jì)技術(shù)面向?qū)ο蟮某绦蛟O(shè)計(jì)技術(shù)1 1面向?qū)ο蠹夹g(shù)的基本特征面向?qū)ο蠹夹g(shù)的基本特征 封裝性、繼承性和多態(tài)性是面向?qū)ο蟪绦蛟O(shè)計(jì)技術(shù)的封裝性、繼承性和多態(tài)性是面向?qū)ο蟪绦蛟O(shè)計(jì)技術(shù)的三大特征。三大特征。 封裝性封裝性 封裝就是把對(duì)象的屬性和方法結(jié)合成一個(gè)不可分割的封裝就是把對(duì)象的屬性和方法結(jié)合成一個(gè)不可分割的獨(dú)立單位。對(duì)象的屬性值除公有的屬性值只能由該獨(dú)立單位。對(duì)象的屬性值除公有的屬性值只能由該對(duì)象的方法來讀取和修改,與外部的聯(lián)系只能通過外部對(duì)

5、象的方法來讀取和修改,與外部的聯(lián)系只能通過外部接口實(shí)現(xiàn)。接口實(shí)現(xiàn)。 數(shù)據(jù)封裝和隱藏提供了一種對(duì)數(shù)據(jù)訪問嚴(yán)格控制的機(jī)數(shù)據(jù)封裝和隱藏提供了一種對(duì)數(shù)據(jù)訪問嚴(yán)格控制的機(jī)制。例如,制。例如,VBVB中的類模塊是支持?jǐn)?shù)據(jù)封裝的工具,它將中的類模塊是支持?jǐn)?shù)據(jù)封裝的工具,它將數(shù)據(jù)和對(duì)該數(shù)據(jù)的操作封裝在一起作為類的定義。類是數(shù)據(jù)和對(duì)該數(shù)據(jù)的操作封裝在一起作為類的定義。類是一個(gè)整體,在這個(gè)整體中,一些成員被有效地屏蔽,以一個(gè)整體,在這個(gè)整體中,一些成員被有效地屏蔽,以防外界的干擾;另一些成員是公共的,它們作為公共接防外界的干擾;另一些成員是公共的,它們作為公共接口可與外界交換信息??诳膳c外界交換信息。 2.1.2

6、 2.1.2 面向?qū)ο蟮某绦蛟O(shè)計(jì)技術(shù)面向?qū)ο蟮某绦蛟O(shè)計(jì)技術(shù)1 1面向?qū)ο蠹夹g(shù)的基本特征面向?qū)ο蠹夹g(shù)的基本特征 繼承性繼承性 繼承性是從已定義的類派生出新類的一種手段。通過繼繼承性是從已定義的類派生出新類的一種手段。通過繼承可以對(duì)某定義的類進(jìn)行細(xì)化,添加新的屬性和方法,從而承可以對(duì)某定義的類進(jìn)行細(xì)化,添加新的屬性和方法,從而形成子類。這個(gè)類既有自己新定義的屬性和行為,又有繼承形成子類。這個(gè)類既有自己新定義的屬性和行為,又有繼承下來的屬性和行為。下來的屬性和行為。 見圖所示:最頂部的人員類稱為基類父類),從它派見圖所示:最頂部的人員類稱為基類父類),從它派生出的學(xué)生類和教師類稱為派生類子類);以學(xué)

7、生類為基生出的學(xué)生類和教師類稱為派生類子類);以學(xué)生類為基類又派生出研究生子類;助教類是以教師類和研究生類為基類又派生出研究生子類;助教類是以教師類和研究生類為基類派生出的子類。類派生出的子類。 作為繼承的實(shí)例,作為繼承的實(shí)例,Windows XPWindows XP操作系統(tǒng)是從操作系統(tǒng)是從Windows Windows 20002000操作系統(tǒng)派生出來。操作系統(tǒng)派生出來。2.1.2 2.1.2 面向?qū)ο蟮某绦蛟O(shè)計(jì)技術(shù)面向?qū)ο蟮某绦蛟O(shè)計(jì)技術(shù)1 1面向?qū)ο蠹夹g(shù)的基本特征面向?qū)ο蠹夹g(shù)的基本特征 多態(tài)性多態(tài)性 多態(tài)體現(xiàn)在系統(tǒng)中不同對(duì)象對(duì)同一消息作出不同的響應(yīng)行多態(tài)體現(xiàn)在系統(tǒng)中不同對(duì)象對(duì)同一消息作出不

8、同的響應(yīng)行為。即多個(gè)對(duì)象定義名稱相同但完成不同任務(wù)的函數(shù),并使為。即多個(gè)對(duì)象定義名稱相同但完成不同任務(wù)的函數(shù),并使用相同的調(diào)用方式來調(diào)用具有不同功能的同名函數(shù)。這種面用相同的調(diào)用方式來調(diào)用具有不同功能的同名函數(shù)。這種面向?qū)ο蟮奶匦苑Q為多態(tài)性。向?qū)ο蟮奶匦苑Q為多態(tài)性。 例如:利用多態(tài)性來處理顯示不同類型的數(shù)據(jù)。父類例如:利用多態(tài)性來處理顯示不同類型的數(shù)據(jù)。父類DATADATA定義了行為定義了行為showshow顯示數(shù)據(jù)),派生于同一父類顯示數(shù)據(jù)),派生于同一父類DATADATA的的子類:子類:INT(INT(整型整型) )、FLOAT(FLOAT(單精度單精度) )和和STRING(STRING

9、(字符串字符串) ) 既繼既繼承了父類的承了父類的ShowShow行為,又各自擴(kuò)充了新功能。各子類對(duì)象接行為,又各自擴(kuò)充了新功能。各子類對(duì)象接收到相同的收到相同的showshow消息后執(zhí)行其類中同名的消息后執(zhí)行其類中同名的showshow函數(shù)完成不函數(shù)完成不同任務(wù))同任務(wù)), ,以顯示不同類型的數(shù)據(jù)。以顯示不同類型的數(shù)據(jù)。 2.1.2 2.1.2 面向?qū)ο蟮某绦蛟O(shè)計(jì)技術(shù)面向?qū)ο蟮某绦蛟O(shè)計(jì)技術(shù)2 2面向?qū)ο蟪绦虻墓ぷ髟砻嫦驅(qū)ο蟪绦虻墓ぷ髟?從面向?qū)ο蟮慕嵌瓤矗绦蚴菍?duì)象的集合;對(duì)象之間從面向?qū)ο蟮慕嵌瓤矗绦蚴菍?duì)象的集合;對(duì)象之間的相互作用構(gòu)成了一個(gè)軟件系統(tǒng)。對(duì)象參與的交互動(dòng)作的相互作用構(gòu)成

10、了一個(gè)軟件系統(tǒng)。對(duì)象參與的交互動(dòng)作稱為事件。通過事件,消息在對(duì)象之間發(fā)送,接收消息稱為事件。通過事件,消息在對(duì)象之間發(fā)送,接收消息的對(duì)象調(diào)用相應(yīng)的方法進(jìn)行響應(yīng)。面向?qū)ο蟪绦虻墓ぷ鞯膶?duì)象調(diào)用相應(yīng)的方法進(jìn)行響應(yīng)。面向?qū)ο蟪绦虻墓ぷ髟砣鐖D所示。原理如圖所示。2.1.2 2.1.2 面向?qū)ο蟮某绦蛟O(shè)計(jì)技術(shù)面向?qū)ο蟮某绦蛟O(shè)計(jì)技術(shù)3 3面向?qū)ο蟮某绦蛟O(shè)計(jì)方法面向?qū)ο蟮某绦蛟O(shè)計(jì)方法 面向?qū)ο蟪绦蛟O(shè)計(jì)強(qiáng)調(diào)的是數(shù)據(jù)對(duì)象,建立層次化面向?qū)ο蟪绦蛟O(shè)計(jì)強(qiáng)調(diào)的是數(shù)據(jù)對(duì)象,建立層次化的對(duì)象體系。它是基于解決問題的業(yè)務(wù)邏輯,而不是基的對(duì)象體系。它是基于解決問題的業(yè)務(wù)邏輯,而不是基于具體的程序步驟。于具體的程序步驟。 綜上

11、所述,面向?qū)ο蟮某绦蛟O(shè)計(jì)方法可以表示為:綜上所述,面向?qū)ο蟮某绦蛟O(shè)計(jì)方法可以表示為: 面向?qū)ο竺嫦驅(qū)ο?= = 對(duì)象對(duì)象 + + 類類 + + 承襲承襲 + + 消息通信消息通信 由此可見,面向?qū)ο蟮某绦蛟O(shè)計(jì)既使用對(duì)象又使用類由此可見,面向?qū)ο蟮某绦蛟O(shè)計(jì)既使用對(duì)象又使用類和繼承機(jī)制,而且對(duì)象之間僅能通過消息實(shí)現(xiàn)彼此之間和繼承機(jī)制,而且對(duì)象之間僅能通過消息實(shí)現(xiàn)彼此之間的通信。的通信。 2.2 Visual Basic2.2 Visual Basic中的對(duì)象中的對(duì)象 2.2.1 2.2.1 對(duì)象的概念對(duì)象的概念 VBVB的一個(gè)對(duì)象是指將數(shù)據(jù)和處理該數(shù)據(jù)的過程函的一個(gè)對(duì)象是指將數(shù)據(jù)和處理該數(shù)據(jù)的過程

12、函數(shù)和子程序捆綁在一起的一個(gè)程序部件。對(duì)象是具有數(shù)和子程序捆綁在一起的一個(gè)程序部件。對(duì)象是具有屬性數(shù)據(jù)和行為方法的實(shí)體。屬性數(shù)據(jù)和行為方法的實(shí)體。VBVB的對(duì)象分為兩的對(duì)象分為兩類:類:1 1預(yù)定義對(duì)象預(yù)定義對(duì)象 由系統(tǒng)設(shè)計(jì)好提供給用戶使用,如窗體、控件、打印由系統(tǒng)設(shè)計(jì)好提供給用戶使用,如窗體、控件、打印機(jī)、調(diào)試、剪貼板、屏幕等;機(jī)、調(diào)試、剪貼板、屏幕等;2 2用戶建立對(duì)象用戶建立對(duì)象 建立一個(gè)對(duì)象,就是新建窗體以及在窗體上繪制控件建立一個(gè)對(duì)象,就是新建窗體以及在窗體上繪制控件的過程;對(duì)象也可通過程序來建立,但必須由用戶在程的過程;對(duì)象也可通過程序來建立,但必須由用戶在程序中為對(duì)象命名。如窗體

13、序中為對(duì)象命名。如窗體Form1Form1,按鈕,按鈕( (控件控件)buttn)buttn等。等。 2.2 Visual Basic2.2 Visual Basic中的對(duì)象中的對(duì)象 2.2.2 2.2.2 對(duì)象的屬性、方法和事件對(duì)象的屬性、方法和事件 在在VBVB環(huán)境下建立一個(gè)對(duì)象后,其操作通過與該對(duì)環(huán)境下建立一個(gè)對(duì)象后,其操作通過與該對(duì)象有關(guān)的屬性、方法和事件來描述。象有關(guān)的屬性、方法和事件來描述。 1 1對(duì)象的屬性對(duì)象的屬性 屬性屬性PropertyProperty是描是描述對(duì)象特征的數(shù)據(jù)。如氣述對(duì)象特征的數(shù)據(jù)。如氣球?qū)傩杂兄睆健㈩伾?、外球?qū)傩杂兄睆健㈩伾?、外形? (充氣或未充氣充氣或

14、未充氣) )、壽命、壽命等。等。2.2 Visual Basic2.2 Visual Basic中的對(duì)象中的對(duì)象 2.2.2 2.2.2 對(duì)象的屬性、方法和事件對(duì)象的屬性、方法和事件1 1對(duì)象的屬性對(duì)象的屬性 不同對(duì)象有不同的屬性。不同對(duì)象有不同的屬性。VBVB對(duì)象常見屬性有標(biāo)題對(duì)象常見屬性有標(biāo)題CaptionCaption)、控件名稱)、控件名稱NameName)、顏色)、顏色ColorColor)、字)、字體大小體大小FontsizeFontsize)、是否加粗)、是否加粗FondBoldFondBold)、是否可)、是否可見見VisibleVisible等。等。 可以通過修改對(duì)象的屬性值

15、來改變對(duì)象的特征,設(shè)可以通過修改對(duì)象的屬性值來改變對(duì)象的特征,設(shè)置對(duì)象的屬性值有兩種方式:置對(duì)象的屬性值有兩種方式: 利用利用“屬性窗口設(shè)置對(duì)象的屬性操作見屬性窗口設(shè)置對(duì)象的屬性操作見2.4.42.4.4) 在程序中設(shè)置對(duì)象的屬性賦值語句)在程序中設(shè)置對(duì)象的屬性賦值語句) 其語法格式:其語法格式: 對(duì)象名對(duì)象名.屬性名屬性名= =屬性值屬性值 2.2.2 2.2.2 對(duì)象的屬性、方法和事件對(duì)象的屬性、方法和事件1 1對(duì)象的屬性對(duì)象的屬性 讀寫對(duì)象的屬性值讀寫對(duì)象的屬性值 對(duì)象的大多數(shù)屬性是可讀取的,但不是所有的屬性都對(duì)象的大多數(shù)屬性是可讀取的,但不是所有的屬性都是可改寫的。是可改寫的。 例如,

16、在用戶窗體例如,在用戶窗體Form1Form1上有二個(gè)文本框控件,對(duì)象上有二個(gè)文本框控件,對(duì)象名分別為名分別為Text1Text1和和Text2Text2,該控件有一屬性,該控件有一屬性TextText,屬性值,屬性值則是文本框的顯示內(nèi)容。則是文本框的顯示內(nèi)容。 讀寫對(duì)象屬性的賦值語句如下:讀寫對(duì)象屬性的賦值語句如下: Text1.Text=Text1.Text=歡迎光臨歡迎光臨 (改寫對(duì)象屬性)(改寫對(duì)象屬性) Text2.Text=Text1.Text Text2.Text=Text1.Text (讀取對(duì)象屬性)(讀取對(duì)象屬性)2.2.2 2.2.2 對(duì)象的屬性、方法和事件對(duì)象的屬性、方法

17、和事件2 2對(duì)象的方法對(duì)象的方法 方法是描述對(duì)象行為的過程,指對(duì)象能執(zhí)行的動(dòng)作方法是描述對(duì)象行為的過程,指對(duì)象能執(zhí)行的動(dòng)作或功能,如顯示或打印、繪圖、移動(dòng)等?;蚬δ?,如顯示或打印、繪圖、移動(dòng)等。 對(duì)于對(duì)于VBVB預(yù)定義對(duì)象,其方法是封裝在對(duì)象中用來操預(yù)定義對(duì)象,其方法是封裝在對(duì)象中用來操作對(duì)象屬性的代碼段特殊的過程或函數(shù)),是不可見作對(duì)象屬性的代碼段特殊的過程或函數(shù)),是不可見和不可改寫的。和不可改寫的。 不同的對(duì)象有不同的方法不同的對(duì)象有不同的方法, ,有些方法可適用于多種類有些方法可適用于多種類型的對(duì)象,而有些方法只適用于幾種對(duì)象。如大部分對(duì)型的對(duì)象,而有些方法只適用于幾種對(duì)象。如大部分對(duì)

18、象具有方法象具有方法MoveMove移動(dòng)位置),而按鈕和文本框控件對(duì)移動(dòng)位置),而按鈕和文本框控件對(duì)象都具有方法象都具有方法SetFocusSetFocus將焦點(diǎn)移至指定對(duì)象)。將焦點(diǎn)移至指定對(duì)象)。 2.2.2 2.2.2 對(duì)象的屬性、方法和事件對(duì)象的屬性、方法和事件2 2對(duì)象的方法對(duì)象的方法 調(diào)用對(duì)象的方法:調(diào)用對(duì)象的方法: 其語法格式:其語法格式: 對(duì)象名對(duì)象名.方法名方法名 參數(shù)列表參數(shù)列表 例例1 1:在用戶窗體:在用戶窗體Form1Form1上有一名為上有一名為txtnametxtname的文本框控件,的文本框控件,用來輸入用戶名,調(diào)用方法用來輸入用戶名,調(diào)用方法MoveMove移

19、動(dòng)文本框位置;調(diào)用方法移動(dòng)文本框位置;調(diào)用方法SetFocusSetFocus將焦點(diǎn)光標(biāo)移至文本框以便接收信息。將焦點(diǎn)光標(biāo)移至文本框以便接收信息。 Txtname.Move 300,300 Txtname.Move 300,300 Txtname.SetFocus Txtname.SetFocus (將光標(biāo)置于用戶名框)(將光標(biāo)置于用戶名框) 例例2 2:使用方法:使用方法PrintPrint在當(dāng)前窗體在當(dāng)前窗體Form1Form1或打印機(jī)上輸出字或打印機(jī)上輸出字符串符串 歡迎使用歡迎使用VBVB。 Print Print “歡迎使用歡迎使用VBVB” (缺省對(duì)象為當(dāng)前窗體(缺省對(duì)象為當(dāng)前窗體

20、Form1Form1) Printer.Print Printer.Print “歡迎使用歡迎使用VBVB” (打印機(jī)對(duì)象名(打印機(jī)對(duì)象名PrinterPrinter)2.2.2 2.2.2 對(duì)象的屬性、方法和事件對(duì)象的屬性、方法和事件3 3對(duì)象的事件對(duì)象的事件(1)(1)事件事件 事件是事件是VBVB預(yù)先設(shè)置好的、能夠被對(duì)象識(shí)別的動(dòng)作,如預(yù)先設(shè)置好的、能夠被對(duì)象識(shí)別的動(dòng)作,如ClickClick單擊)、單擊)、DblClickDblClick雙擊)、雙擊)、MouseMoveMouseMove移動(dòng)移動(dòng)鼠標(biāo))、鼠標(biāo))、LoadLoad裝入等。裝入等。 不同的對(duì)象能識(shí)別的事件也不一樣。例如,窗體

21、能識(shí)不同的對(duì)象能識(shí)別的事件也不一樣。例如,窗體能識(shí)別裝載別裝載Load()Load()、單擊、單擊Click()Click()、活動(dòng)、活動(dòng)Activate()Activate()等事件;等事件;命令按鈕能識(shí)別單擊命令按鈕能識(shí)別單擊Click()Click()、雙擊、雙擊DblClick()DblClick()、獲得焦、獲得焦點(diǎn)點(diǎn)GotFocus()GotFocus()等事件。等事件。 事件一般發(fā)生在用戶與應(yīng)用程序交互時(shí),如單擊控件、事件一般發(fā)生在用戶與應(yīng)用程序交互時(shí),如單擊控件、鍵盤輸入、移動(dòng)鼠標(biāo)等。也有部分事件是由系統(tǒng)觸發(fā),鍵盤輸入、移動(dòng)鼠標(biāo)等。也有部分事件是由系統(tǒng)觸發(fā),如計(jì)時(shí)器事件、程序啟

22、動(dòng)時(shí)窗體加載如計(jì)時(shí)器事件、程序啟動(dòng)時(shí)窗體加載Form_Load(Form_Load()事件。)事件。 2.2.2 2.2.2 對(duì)象的屬性、方法和事件對(duì)象的屬性、方法和事件3 3對(duì)象的事件對(duì)象的事件(2)(2)事件過程事件過程 事件過程是對(duì)某個(gè)對(duì)象事件所執(zhí)行的操作。響應(yīng)某個(gè)事件過程是對(duì)某個(gè)對(duì)象事件所執(zhí)行的操作。響應(yīng)某個(gè)事件后所執(zhí)行的操作是通過一段程序代碼來實(shí)現(xiàn)的。事件后所執(zhí)行的操作是通過一段程序代碼來實(shí)現(xiàn)的。 一個(gè)對(duì)象可以識(shí)別一個(gè)或多個(gè)事件,因而可以擁有一一個(gè)對(duì)象可以識(shí)別一個(gè)或多個(gè)事件,因而可以擁有一個(gè)或多個(gè)事件過程。每個(gè)事件過程必須由用戶或系統(tǒng)啟個(gè)或多個(gè)事件過程。每個(gè)事件過程必須由用戶或系統(tǒng)啟

23、動(dòng)相應(yīng)事件后,才會(huì)執(zhí)行該事件響應(yīng)程序代碼。動(dòng)相應(yīng)事件后,才會(huì)執(zhí)行該事件響應(yīng)程序代碼。 事件過程的一般格式如下:事件過程的一般格式如下: Private sub Private sub 對(duì)象名稱對(duì)象名稱_ _事件名稱事件名稱()() 事件響應(yīng)程序代碼事件響應(yīng)程序代碼 End sub End sub 2.2.2 2.2.2 對(duì)象的屬性、方法和事件對(duì)象的屬性、方法和事件3 3對(duì)象的事件對(duì)象的事件(2)(2)事件過程事件過程 例如,以下事件過程例如,以下事件過程Command1_Click()Command1_Click()是單擊命令按是單擊命令按鈕鈕Command1Command1控件時(shí)所執(zhí)行的操作

24、??丶r(shí)所執(zhí)行的操作。 Private sub Command1_Click()Private sub Command1_Click() Text1.FontName= Text1.FontName=黑體黑體 Text1.ForeColor=vbRed Text1.ForeColor=vbRed Text1.Text= Text1.Text=歡迎使用歡迎使用VBVB End Sub End Sub 當(dāng)用戶單擊命令按鈕當(dāng)用戶單擊命令按鈕Command1Command1控件,將觸發(fā)單擊事件控件,將觸發(fā)單擊事件Command1_Click()Command1_Click(),從而執(zhí)行該響應(yīng)程序代碼,

25、在,從而執(zhí)行該響應(yīng)程序代碼,在Text1Text1文本框中顯示文本框中顯示 歡迎使用歡迎使用VB,VB,其字體為黑體,文字為紅色。其字體為黑體,文字為紅色。2.3 VB2.3 VB程序結(jié)構(gòu)與事件驅(qū)動(dòng)編程機(jī)制程序結(jié)構(gòu)與事件驅(qū)動(dòng)編程機(jī)制 2.3.1 VB2.3.1 VB程序的結(jié)構(gòu)程序的結(jié)構(gòu) VB VB應(yīng)用程序以應(yīng)用程序以“對(duì)象為中心來設(shè)計(jì)模塊,它通常對(duì)象為中心來設(shè)計(jì)模塊,它通常由三種模塊組成:窗體模塊、標(biāo)準(zhǔn)模塊和類模塊。由三種模塊組成:窗體模塊、標(biāo)準(zhǔn)模塊和類模塊。 VBVB應(yīng)用程序結(jié)構(gòu)的三種模塊應(yīng)用程序結(jié)構(gòu)的三種模塊 可以通過可以通過“工程菜單中工程菜單中的的“添加窗體添加窗體”、“添加模塊添加模

26、塊”、“添加類模塊來實(shí)現(xiàn)。添加類模塊來實(shí)現(xiàn)。 參見右圖,顯示在工程窗參見右圖,顯示在工程窗口中的三種模塊??谥械娜N模塊。 2.3 VB2.3 VB程序結(jié)構(gòu)與事件驅(qū)動(dòng)編程機(jī)制程序結(jié)構(gòu)與事件驅(qū)動(dòng)編程機(jī)制 2.3.1 VB2.3.1 VB程序的結(jié)構(gòu)程序的結(jié)構(gòu)1 1窗體模塊窗體模塊 窗體模塊是指在窗體模塊是指在VBVB工程中以工程中以.frm .frm 為文件擴(kuò)展為文件擴(kuò)展名的文件,其中包含窗體的圖形描述;其控件以名的文件,其中包含窗體的圖形描述;其控件以及控件的屬性設(shè)置;事件過程和通用過程等。及控件的屬性設(shè)置;事件過程和通用過程等。 一個(gè)應(yīng)用程序包含一個(gè)或多個(gè)窗體模塊。一個(gè)應(yīng)用程序包含一個(gè)或多個(gè)窗

27、體模塊。 每個(gè)窗體模塊可分為二部分,一部分作為用戶每個(gè)窗體模塊可分為二部分,一部分作為用戶界面窗體的圖形描述),另一部分是執(zhí)行具體界面窗體的圖形描述),另一部分是執(zhí)行具體操作的代碼事件過程),這些代碼與窗體或控操作的代碼事件過程),這些代碼與窗體或控件相關(guān)聯(lián)。件相關(guān)聯(lián)。2.3.1 VB2.3.1 VB程序的結(jié)構(gòu)程序的結(jié)構(gòu)1 1窗體模塊窗體模塊 如程序啟動(dòng)時(shí)執(zhí)行窗體加如程序啟動(dòng)時(shí)執(zhí)行窗體加載事件過程載事件過程Form_Load()Form_Load(),在在Text1Text1文本框顯示文本框顯示“歡迎使歡迎使用用VBVB”; 當(dāng)單擊當(dāng)單擊Command1Command1按鈕時(shí),按鈕時(shí),啟動(dòng)啟動(dòng)

28、 Command1_Click() Command1_Click()命命令按鈕單擊事件過程,文本令按鈕單擊事件過程,文本框的文字呈現(xiàn)黑體和紅色,框的文字呈現(xiàn)黑體和紅色,如右圖所示。如右圖所示。 2.3.1 VB2.3.1 VB程序的結(jié)構(gòu)程序的結(jié)構(gòu)2 2標(biāo)準(zhǔn)模塊標(biāo)準(zhǔn)模塊 標(biāo)準(zhǔn)模塊是指擴(kuò)展名為標(biāo)準(zhǔn)模塊是指擴(kuò)展名為.BAS.BAS的文件,它完全由代碼組的文件,它完全由代碼組成,該文件中的代碼不與具體的窗體或控件相關(guān)聯(lián)。成,該文件中的代碼不與具體的窗體或控件相關(guān)聯(lián)。 在標(biāo)準(zhǔn)模塊中,可以定義函數(shù)過程或子程序過程,且在標(biāo)準(zhǔn)模塊中,可以定義函數(shù)過程或子程序過程,且模塊級(jí)別聲明和定義都被默認(rèn)為模塊級(jí)別聲明和定

29、義都被默認(rèn)為 PublicPublic全局),即標(biāo)全局),即標(biāo)準(zhǔn)模塊中的過程可以被窗體模塊中的任何事件過程調(diào)用。準(zhǔn)模塊中的過程可以被窗體模塊中的任何事件過程調(diào)用。3 3類模塊類模塊 類模塊是指擴(kuò)展名為類模塊是指擴(kuò)展名為.CLS.CLS的文件,包含有類定義的模的文件,包含有類定義的模塊其屬性和方法的定義)。類模塊將代碼和數(shù)據(jù)封裝塊其屬性和方法的定義)。類模塊將代碼和數(shù)據(jù)封裝在同一個(gè)模塊中,使得對(duì)象能保護(hù)和驗(yàn)證其中的數(shù)據(jù)。在同一個(gè)模塊中,使得對(duì)象能保護(hù)和驗(yàn)證其中的數(shù)據(jù)。 每個(gè)類模塊定義了一個(gè)類,由一個(gè)類可創(chuàng)建多個(gè)對(duì)象每個(gè)類模塊定義了一個(gè)類,由一個(gè)類可創(chuàng)建多個(gè)對(duì)象類的實(shí)例),創(chuàng)建對(duì)象的類能將數(shù)據(jù)和過

30、程組織成一類的實(shí)例),創(chuàng)建對(duì)象的類能將數(shù)據(jù)和過程組織成一個(gè)整體。個(gè)整體。 可以在窗體模塊中創(chuàng)建類的對(duì)象,從而調(diào)用類模塊中可以在窗體模塊中創(chuàng)建類的對(duì)象,從而調(diào)用類模塊中的過程。的過程。2.3 VB2.3 VB程序結(jié)構(gòu)與事件驅(qū)動(dòng)編程機(jī)制程序結(jié)構(gòu)與事件驅(qū)動(dòng)編程機(jī)制 2.3.2 2.3.2 事件驅(qū)動(dòng)編程機(jī)制事件驅(qū)動(dòng)編程機(jī)制 Visual BasicVisual Basic是采用事件驅(qū)動(dòng)編程機(jī)制的語言,事件驅(qū)是采用事件驅(qū)動(dòng)編程機(jī)制的語言,事件驅(qū)動(dòng)編程機(jī)制具有如下幾個(gè)要點(diǎn):動(dòng)編程機(jī)制具有如下幾個(gè)要點(diǎn): 應(yīng)用程序基于對(duì)象組成應(yīng)用程序基于對(duì)象組成 每個(gè)對(duì)象都有預(yù)定義的事件集每個(gè)對(duì)象都有預(yù)定義的事件集 每個(gè)事件

31、的發(fā)生都依賴于一定的條件用戶或系統(tǒng)驅(qū)動(dòng))每個(gè)事件的發(fā)生都依賴于一定的條件用戶或系統(tǒng)驅(qū)動(dòng)) 每個(gè)事件發(fā)生后的響應(yīng)取決于事件過程中的程序代碼每個(gè)事件發(fā)生后的響應(yīng)取決于事件過程中的程序代碼 事件驅(qū)動(dòng)程序的核心機(jī)制是由用戶控制事件的發(fā)生,即事件驅(qū)動(dòng)程序的核心機(jī)制是由用戶控制事件的發(fā)生,即用戶發(fā)出什么動(dòng)作事件),事件驅(qū)動(dòng)應(yīng)用程序相關(guān)聯(lián)用戶發(fā)出什么動(dòng)作事件),事件驅(qū)動(dòng)應(yīng)用程序相關(guān)聯(lián)的事件過程執(zhí)行程序代碼,做出響應(yīng)。的事件過程執(zhí)行程序代碼,做出響應(yīng)。 例如,當(dāng)用戶單擊窗體,則執(zhí)行窗體的單擊事件過程中例如,當(dāng)用戶單擊窗體,則執(zhí)行窗體的單擊事件過程中代碼;如果單擊命令按鈕,則執(zhí)行命令按鈕的單擊事件過代碼;如果單

32、擊命令按鈕,則執(zhí)行命令按鈕的單擊事件過程中代碼。程中代碼。 2.4 2.4 窗體與控件窗體與控件 2.4.1 2.4.1 窗體窗體 窗體與窗體與WindowsWindows下窗口的結(jié)構(gòu)或特性都十分類似。下窗口的結(jié)構(gòu)或特性都十分類似。在設(shè)計(jì)程序時(shí),窗體是程序員的工作臺(tái);而運(yùn)行程序在設(shè)計(jì)程序時(shí),窗體是程序員的工作臺(tái);而運(yùn)行程序時(shí),每個(gè)窗體對(duì)應(yīng)于一個(gè)窗口。窗體是一個(gè)特殊的控時(shí),每個(gè)窗體對(duì)應(yīng)于一個(gè)窗口。窗體是一個(gè)特殊的控件對(duì)象,是其他控件的容器。在窗體上可以布局其它件對(duì)象,是其他控件的容器。在窗體上可以布局其它控件,直觀地建立應(yīng)用程序??丶庇^地建立應(yīng)用程序。 窗體窗體(Form)(Form)能夠成

33、為用戶設(shè)計(jì)的數(shù)據(jù)輸入輸出界面。能夠成為用戶設(shè)計(jì)的數(shù)據(jù)輸入輸出界面。通過用戶窗體和控件可方便地輸入數(shù)據(jù)、輸出結(jié)果以通過用戶窗體和控件可方便地輸入數(shù)據(jù)、輸出結(jié)果以及控制應(yīng)用程序的執(zhí)行。及控制應(yīng)用程序的執(zhí)行。 窗體作為窗體作為VBVB的對(duì)象,具有自己的屬性、方法和事件。的對(duì)象,具有自己的屬性、方法和事件。 2.4.1 2.4.1 窗體窗體1 1窗體的常用屬性窗體的常用屬性 NameName:窗體對(duì)象的名字,默認(rèn)值:窗體對(duì)象的名字,默認(rèn)值Form1Form1。 CaptionCaption:窗體標(biāo)題的名字字符串):窗體標(biāo)題的名字字符串) BackColorBackColor:窗體背景顏色:窗體背景顏色

34、, ,如如vbRed(vbRed(紅紅) )、vbBlue(vbBlue(藍(lán)藍(lán)) ) ForeColor ForeColor:設(shè)置文本或圖形的前景顏色。:設(shè)置文本或圖形的前景顏色。 BorderStyleBorderStyle:窗體的邊框樣式,可取:窗體的邊框樣式,可取0 05 5的整數(shù)。的整數(shù)。 Height,WidthHeight,Width:指定窗體的高度和寬度。:指定窗體的高度和寬度。 其設(shè)置格式如下:其設(shè)置格式如下: 對(duì)象對(duì)象.Height =.Height =數(shù)值數(shù)值 對(duì)象對(duì)象.Width =.Width =數(shù)值數(shù)值 如果不設(shè)置該屬性,則窗口大小與設(shè)計(jì)時(shí)的窗體大小如果不設(shè)置該屬性,

35、則窗口大小與設(shè)計(jì)時(shí)的窗體大小相同。相同。 2.4.1 2.4.1 窗體窗體2 2窗體的常用事件窗體的常用事件 Click(Click(單擊單擊) )事件事件 單擊窗體內(nèi)除控件外某位置,觸發(fā)單擊窗體內(nèi)除控件外某位置,觸發(fā)Form_Click()Form_Click()單擊單擊事件過程。事件過程。 DblClick(DblClick(雙擊雙擊) )事件事件 雙擊窗體某個(gè)位置,觸發(fā)雙擊窗體某個(gè)位置,觸發(fā)Form_ DblClick()Form_ DblClick()事件過程。事件過程。 Load(Load(裝入裝入) )事件事件: :把窗體裝入工作區(qū)觸發(fā)該事件過程。把窗體裝入工作區(qū)觸發(fā)該事件過程。

36、Unload(Unload(卸載卸載) )事件事件: :清除一個(gè)窗體時(shí)觸發(fā)該事件過程。清除一個(gè)窗體時(shí)觸發(fā)該事件過程。 Activate(Activate(活動(dòng)活動(dòng)) )事件事件: :窗體變?yōu)榛顒?dòng)窗口觸發(fā)該事件過程。窗體變?yōu)榛顒?dòng)窗口觸發(fā)該事件過程。 Paint(Paint(繪畫繪畫) )事件事件: :當(dāng)窗體被移動(dòng)或放大觸發(fā)該事件過程。當(dāng)窗體被移動(dòng)或放大觸發(fā)該事件過程。2.4.1 2.4.1 窗體窗體3 3窗體的常用方法窗體的常用方法 PrintPrint方法方法 用于在窗體用于在窗體FormForm)、圖片框)、圖片框PicturePicture)、打印機(jī))、打印機(jī)(Printer)(Print

37、er)上輸出字符或數(shù)值。上輸出字符或數(shù)值。 ClsCls清屏方法清屏方法 清除窗體上由清除窗體上由PrintPrint方法顯示的字符和數(shù)值,或圖片框方法顯示的字符和數(shù)值,或圖片框中顯示的圖形。中顯示的圖形。 MoveMove方法方法 用來移動(dòng)窗體和控件,并可改變其大小。用來移動(dòng)窗體和控件,并可改變其大小。 ShowShow或或HideHide方法方法 主要用于多窗體程序設(shè)計(jì)中,顯示或隱藏指定的窗主要用于多窗體程序設(shè)計(jì)中,顯示或隱藏指定的窗體。體。2.4.1 2.4.1 窗體窗體3 3窗體的常用方法窗體的常用方法 PrintPrint方法舉例如下:方法舉例如下: 例例1 1,某窗體的單擊事件過程

38、,某窗體的單擊事件過程Form1_Click()Form1_Click()中,響應(yīng)程序代碼使用中,響應(yīng)程序代碼使用PrintPrint方法的示例如下:方法的示例如下:Private Sub Form1_Click()Private Sub Form1_Click() Form1.Print how are you;? Form1.Print how are you;? Form1.Print 123456,ABCDEF Form1.Print 123456,ABCDEF Picture.Print Picture.Print 計(jì)算機(jī)世界計(jì)算機(jī)世界 Picture.Print Picture.P

39、rint 教材書教材書;5+20; ;5+20; 本本 End SubEnd Sub 3 3窗體的常用方法窗體的常用方法 MoveMove方法舉例如下:方法舉例如下: 例例2 2,在窗體的任意位置畫一個(gè)文本框控件,在窗體的任意位置畫一個(gè)文本框控件Text1Text1,使用,使用MoveMove方法移動(dòng)窗體和文本框的位置并改變其大小。窗體單方法移動(dòng)窗體和文本框的位置并改變其大小。窗體單擊事件過程擊事件過程Form1_Click()Form1_Click()如下:如下: Private Sub Form1_Click()Private Sub Form1_Click() Move 500,500,

40、3800,2500 Move 500,500,3800,2500 Text1.Move 200,200,1500,1000 Text1.Move 200,200,1500,1000 End Sub End Sub 該事件過程先把窗體移到距屏幕左邊界該事件過程先把窗體移到距屏幕左邊界500,500,上邊界上邊界500500的位置處,并將其大小設(shè)置為寬度的位置處,并將其大小設(shè)置為寬度38003800和高度和高度25002500;然后;然后把文本框移到窗體的把文本框移到窗體的200,200200,200處,把大小設(shè)置為寬處,把大小設(shè)置為寬15001500,高高10001000。 2.4 2.4 窗體

41、與控件窗體與控件 2.4.2 2.4.2 控件的使用控件的使用 在設(shè)計(jì)用戶界面時(shí),需要在窗體上畫出各種所需的控件,在設(shè)計(jì)用戶界面時(shí),需要在窗體上畫出各種所需的控件,控件是構(gòu)成用戶界面的基本元素??丶菢?gòu)成用戶界面的基本元素。1 1控件的類型控件的類型 VBVB的控件分為以下三類的控件分為以下三類 標(biāo)準(zhǔn)控件也稱內(nèi)部控件)標(biāo)準(zhǔn)控件也稱內(nèi)部控件) 內(nèi)部控件以圖標(biāo)形式在工具箱中列出,不能添加或刪除。內(nèi)部控件以圖標(biāo)形式在工具箱中列出,不能添加或刪除。如標(biāo)簽、文本框、圖片框、命令按鈕、列表框等。如標(biāo)簽、文本框、圖片框、命令按鈕、列表框等。 ActiveXActiveX控件控件 各種版本各種版本VBVB提供

42、的控件,僅在專業(yè)版和企業(yè)版中提供的提供的控件,僅在專業(yè)版和企業(yè)版中提供的控件,以及第三方提供的控件,以及第三方提供的ActiveXActiveX控件??丶?。 可插入對(duì)象可插入對(duì)象 該對(duì)象能添加到工具箱中,可以被當(dāng)做控件。該對(duì)象能添加到工具箱中,可以被當(dāng)做控件。 2.4.2 2.4.2 控件的使用控件的使用2 2控件的畫法控件的畫法 建立用戶界面的主要工作是畫控件,通過兩種方建立用戶界面的主要工作是畫控件,通過兩種方法可以在窗體上畫一個(gè)控件。法可以在窗體上畫一個(gè)控件。 控件畫法一略)控件畫法一略) 控件畫法二控件畫法二 即雙擊工具箱中某種控件圖標(biāo),即在當(dāng)前窗體的中即雙擊工具箱中某種控件圖標(biāo),即在

43、當(dāng)前窗體的中心位置自動(dòng)畫出顯示該控件。心位置自動(dòng)畫出顯示該控件。留意:留意: 用畫法一畫控件的過程中,所畫控件的大小和位置用畫法一畫控件的過程中,所畫控件的大小和位置是可變的;而用畫法二所畫控件的大小和位置是固定是可變的;而用畫法二所畫控件的大小和位置是固定的。兩種方法畫完控件后,均可重新調(diào)整控件的大小的。兩種方法畫完控件后,均可重新調(diào)整控件的大小和位置。和位置。 2.4.2 2.4.2 控件的使用控件的使用3 3控件的基本操作控件的基本操作 對(duì)控件的所有操作都是針對(duì)活動(dòng)控件對(duì)控件的所有操作都是針對(duì)活動(dòng)控件( (該控件的邊該控件的邊框上有八個(gè)黑色小方塊框上有八個(gè)黑色小方塊) )進(jìn)行的,不活動(dòng)的

44、控件不能進(jìn)行的,不活動(dòng)的控件不能進(jìn)行任何操作。進(jìn)行任何操作。 控件的選擇控件的選擇 控件的縮放和移動(dòng)控件的縮放和移動(dòng) 控件的復(fù)制和刪除控件的復(fù)制和刪除 多個(gè)控件的對(duì)齊與調(diào)整多個(gè)控件的對(duì)齊與調(diào)整 2.4 2.4 窗體與控件窗體與控件 2.4.3 2.4.3 常用控件常用控件 本小節(jié)僅介紹幾個(gè)常用控件:標(biāo)簽、文本框、命令本小節(jié)僅介紹幾個(gè)常用控件:標(biāo)簽、文本框、命令按鈕以及它們的屬性、方法和事件。按鈕以及它們的屬性、方法和事件。1 1常用控件的公共屬性常用控件的公共屬性 NameName控件的名字)控件的名字) CaptionCaption控件上顯示的文字內(nèi)容)控件上顯示的文字內(nèi)容) Visible

45、Visible取值取值TureTure或或FlaseFlase,決定對(duì)象是否可見),決定對(duì)象是否可見) FontFont系列字符格式)系列字符格式) FontNameFontName字體:宋體)字體:宋體) FontSizeFontSize字號(hào))、字號(hào))、FontBoldFontBold粗體字)粗體字) FontItalicFontItalic斜體字)、斜體字)、FontUnderlineFontUnderline下劃線)下劃線)2.4.3 2.4.3 常用控件常用控件 1 1常用控件的公共屬性常用控件的公共屬性 LeftLeft、TopTop和和HeightHeight、WidthWidth

46、整型數(shù))整型數(shù)) 確定界面對(duì)象的坐標(biāo)位置和尺寸大小。確定界面對(duì)象的坐標(biāo)位置和尺寸大小。 ForeColorForeColor前景色):與窗體該屬性相同。前景色):與窗體該屬性相同。 BackColorBackColor背景色):與窗體該屬性相同。背景色):與窗體該屬性相同。 BorderStyleBorderStyle邊框樣式):邊框樣式): 取值取值0-0-控件無邊框線,取值控件無邊框線,取值1-1-控件周圍加單線邊框。控件周圍加單線邊框。 EnabledEnabled邏輯型)邏輯型) 用來確定對(duì)象是否有效可用),即一個(gè)窗體和控件是用來確定對(duì)象是否有效可用),即一個(gè)窗體和控件是否能夠?qū)τ脩舢a(chǎn)

47、生的事件做出反應(yīng)。取值否能夠?qū)τ脩舢a(chǎn)生的事件做出反應(yīng)。取值True True ,允許對(duì),允許對(duì)象對(duì)事件做出反應(yīng);取值象對(duì)事件做出反應(yīng);取值FlaseFlase,禁止對(duì)事件做出反應(yīng)。,禁止對(duì)事件做出反應(yīng)。2.4.3 2.4.3 常用控件常用控件 2 2標(biāo)簽標(biāo)簽LabelLabel控件控件 標(biāo)簽主要用來顯示文本信息,其默認(rèn)名稱標(biāo)簽主要用來顯示文本信息,其默認(rèn)名稱NameName和標(biāo)題和標(biāo)題CaptionCaption為為L(zhǎng)abel1Label1、Label2Label2、Label3Label3,它顯示的文本信息只能用它顯示的文本信息只能用CaptionCaption屬性來設(shè)置或修改,屬性來設(shè)置或

48、修改,不能直接編輯。不能直接編輯。 標(biāo)簽常用來標(biāo)注本身不具有標(biāo)簽常用來標(biāo)注本身不具有CaptionCaption屬性的控件,屬性的控件,如文本框、列表框和組合框等。在窗體中添加這些控如文本框、列表框和組合框等。在窗體中添加這些控件時(shí),可用標(biāo)簽為它們附加描述性文字。件時(shí),可用標(biāo)簽為它們附加描述性文字。 標(biāo)簽的部分屬性除了與大多數(shù)控件的共同屬性相標(biāo)簽的部分屬性除了與大多數(shù)控件的共同屬性相同外,還有一些特殊的屬性。同外,還有一些特殊的屬性。 2 2標(biāo)簽標(biāo)簽LabelLabel控件控件(1)(1)標(biāo)簽特有屬性標(biāo)簽特有屬性 Alignment Alignment 用來確定標(biāo)簽中顯示標(biāo)題的對(duì)齊方式,可以設(shè)

49、置為用來確定標(biāo)簽中顯示標(biāo)題的對(duì)齊方式,可以設(shè)置為0-0-左對(duì)齊、左對(duì)齊、1-1-右對(duì)齊、右對(duì)齊、2-2-居中。居中。 AutosizeAutosize邏輯型)邏輯型) 若取若取TrueTrue,可根據(jù),可根據(jù)CaptionCaption屬性指定的標(biāo)題內(nèi)容,屬性指定的標(biāo)題內(nèi)容,自動(dòng)調(diào)整標(biāo)簽的大小;若取自動(dòng)調(diào)整標(biāo)簽的大小;若取FlaseFlase,則標(biāo)簽保持設(shè)計(jì),則標(biāo)簽保持設(shè)計(jì)時(shí)定義的大小,若標(biāo)題太長(zhǎng),只能部分顯示。時(shí)定義的大小,若標(biāo)題太長(zhǎng),只能部分顯示。 WordWrapWordWrap邏輯型)邏輯型) 確定標(biāo)簽的標(biāo)題確定標(biāo)簽的標(biāo)題CaptionCaption屬性的顯示方式。即屬性的顯示方式。即

50、標(biāo)題內(nèi)容太長(zhǎng)時(shí),在行末是否自動(dòng)換行。值為標(biāo)題內(nèi)容太長(zhǎng)時(shí),在行末是否自動(dòng)換行。值為True True 則自動(dòng)換行,否則不換行。要使則自動(dòng)換行,否則不換行。要使WordWrapWordWrap屬性起作用,屬性起作用,必須把必須把AutosizeAutosize屬性設(shè)置為屬性設(shè)置為TrueTrue。2 2標(biāo)簽標(biāo)簽LabelLabel控件控件(2)(2)標(biāo)簽的常用方法和事件標(biāo)簽的常用方法和事件 標(biāo)簽常用標(biāo)簽常用MoveMove方法,方法,ClickClick單擊單擊事件和事件和DblClickDblClick雙擊事件。雙擊事件。 例如,標(biāo)簽單擊事件過程如下:例如,標(biāo)簽單擊事件過程如下:Private

51、Sub Label1_Click()Private Sub Label1_Click() Label1.AutoSize = True Label1.AutoSize = True Caption = Caption = 標(biāo)簽示例標(biāo)簽示例 Label1.Caption = Label1.Caption = 請(qǐng)輸入密碼請(qǐng)輸入密碼: Label1.FontName = Label1.FontName = 華文彩云華文彩云“ Label1.FontBold = True Label1.FontBold = True Label1.FontSize = 24 Label1.FontSize = 24E

52、nd Sub End Sub 單擊標(biāo)簽,觸發(fā)該事件過單擊標(biāo)簽,觸發(fā)該事件過程,執(zhí)行響應(yīng)程序代碼,程,執(zhí)行響應(yīng)程序代碼,其運(yùn)行結(jié)果如圖所示其運(yùn)行結(jié)果如圖所示 2.4.3 2.4.3 常用控件常用控件 3 3文本框文本框TextBoxTextBox控件控件 文本框是一個(gè)文本編輯區(qū)域,也稱為文字編輯文本框是一個(gè)文本編輯區(qū)域,也稱為文字編輯控件控件, ,其對(duì)象類名為其對(duì)象類名為TextBoxTextBox,默認(rèn)名稱,默認(rèn)名稱NameName和和標(biāo)題標(biāo)題CaptionCaption為為Text1Text1、Text2Text2。 在設(shè)計(jì)階段或運(yùn)行時(shí)可以在文本框輸入、修改在設(shè)計(jì)階段或運(yùn)行時(shí)可以在文本框輸入

53、、修改和顯示文本。通常用于為程序提供輸入數(shù)據(jù)的窗口。和顯示文本。通常用于為程序提供輸入數(shù)據(jù)的窗口。 控件的公共屬性也可以用于文本框,此外文本控件的公共屬性也可以用于文本框,此外文本框控件還具有如下的特殊屬性??蚩丶€具有如下的特殊屬性。 2.4.3 2.4.3 常用控件常用控件 3 3文本框文本框TextBoxTextBox控件控件(1)(1)文本框的常用屬性文本框的常用屬性 TextText:設(shè)置文本框中顯示的內(nèi)容。:設(shè)置文本框中顯示的內(nèi)容。 MaxLenghtMaxLenght:允許在文本框中輸入的最大字符數(shù)。:允許在文本框中輸入的最大字符數(shù)。 MultilineMultiline:確定文

54、本框是否允許輸入或顯示多行文本。:確定文本框是否允許輸入或顯示多行文本。取值取值True-True-多行,取值多行,取值Flase-Flase-單行。單行。 ScrollBarsScrollBars:確定文本框中是否有滾動(dòng)條。:確定文本框中是否有滾動(dòng)條。 PasswordCharPasswordChar:確定所鍵入的字符或占位符在文本框中:確定所鍵入的字符或占位符在文本框中是否顯示出來,主要用來輸入口令。是否顯示出來,主要用來輸入口令。 AlignmentAlignment:確定文本框中文字的對(duì)齊方式。:確定文本框中文字的對(duì)齊方式。 LockedLocked邏輯型):確定文本框是否可被編輯。邏

55、輯型):確定文本框是否可被編輯。 取取False(False(默認(rèn)值默認(rèn)值)-)-可編輯可編輯, ,取值取值True-True-不能編輯。不能編輯。 3 3文本框文本框TextBoxTextBox控件控件(2)(2)文本框的常用方法和事件文本框的常用方法和事件 SetFocusSetFocus方法方法 用于將焦點(diǎn)輸入光標(biāo)移到指定的文本框中,以便接用于將焦點(diǎn)輸入光標(biāo)移到指定的文本框中,以便接收輸入信息。即該方法把光標(biāo)置于所需的文本框。收輸入信息。即該方法把光標(biāo)置于所需的文本框。 ChangeChange事件事件 用戶改變文本框正文或通過程序代碼把用戶改變文本框正文或通過程序代碼把TextText

56、屬性設(shè)置為屬性設(shè)置為新值時(shí),將觸發(fā)新值時(shí),將觸發(fā)ChangeChange事件。事件。 GetFocusGetFocus事件事件 該事件在文本框獲得焦點(diǎn)時(shí)觸發(fā)??赏ㄟ^按該事件在文本框獲得焦點(diǎn)時(shí)觸發(fā)??赏ㄟ^按TabTab鍵、單鍵、單擊對(duì)象以及在代碼中調(diào)用擊對(duì)象以及在代碼中調(diào)用SetFocusSetFocus方法等接收到焦點(diǎn)。方法等接收到焦點(diǎn)。 LostFocusLostFocus事件事件 當(dāng)按下當(dāng)按下TabTab鍵使光標(biāo)焦點(diǎn)離開當(dāng)前文本框或者鼠標(biāo)鍵使光標(biāo)焦點(diǎn)離開當(dāng)前文本框或者鼠標(biāo)選擇窗體中其他對(duì)象時(shí)觸發(fā)該事件。選擇窗體中其他對(duì)象時(shí)觸發(fā)該事件。文本框的常用方法和事件舉例:文本框的常用方法和事件舉例:

57、 例如,建立兩個(gè)文本框,當(dāng)?shù)谝焕?,建立兩個(gè)文本框,當(dāng)?shù)谝粋€(gè)文本框獲得焦點(diǎn)時(shí),將兩個(gè)文本個(gè)文本框獲得焦點(diǎn)時(shí),將兩個(gè)文本框內(nèi)容清除,設(shè)置該文本框的文字框內(nèi)容清除,設(shè)置該文本框的文字為紅色、加粗;在第一文本框輸入為紅色、加粗;在第一文本框輸入文字后按文字后按TabTab鍵離開時(shí),第二個(gè)文鍵離開時(shí),第二個(gè)文本框內(nèi)容與第一個(gè)文本框內(nèi)容相同。本框內(nèi)容與第一個(gè)文本框內(nèi)容相同。文本框獲得焦點(diǎn)時(shí)觸發(fā)事件過程:文本框獲得焦點(diǎn)時(shí)觸發(fā)事件過程:Private Sub Text1_GotFocus()Private Sub Text1_GotFocus() Text1.Text = Text1.Text = Text

58、2.Text = Text2.Text = Text1.FontBold = True Text1.FontBold = True Text1.ForeColor = vbRed Text1.ForeColor = vbRed End SubEnd Sub離開文本框觸發(fā)事件過程離開文本框觸發(fā)事件過程Sub Text1_LostFocus()Sub Text1_LostFocus() Text2.Text = Text1.Text Text2.Text = Text1.TextEnd SubEnd Sub2.4.3 2.4.3 常用控件常用控件 4 4按鈕按鈕CommandButtonComma

59、ndButton控件控件 按鈕控件是指命令按鈕,其對(duì)象的類名為按鈕控件是指命令按鈕,其對(duì)象的類名為CommandButtonCommandButton,默認(rèn)名稱,默認(rèn)名稱(Name)(Name)和標(biāo)題和標(biāo)題CaptionCaption為為Command1Command1、Command2Command2,它是,它是VBVB應(yīng)用程序中最常用應(yīng)用程序中最常用的控件。的控件。 命令按鈕通常用來在單擊時(shí)執(zhí)行指定的操作,即命令按鈕通常用來在單擊時(shí)執(zhí)行指定的操作,即由用戶控制事件的發(fā)生,實(shí)現(xiàn)一個(gè)過程的開始、中斷由用戶控制事件的發(fā)生,實(shí)現(xiàn)一個(gè)過程的開始、中斷或結(jié)束,提供用戶與應(yīng)用程序間的交互?;蚪Y(jié)束,提供用

60、戶與應(yīng)用程序間的交互。 大多數(shù)控件的公共屬性都可用于命令按鈕,此外大多數(shù)控件的公共屬性都可用于命令按鈕,此外命令按鈕還有如下的特殊屬性:命令按鈕還有如下的特殊屬性: 2.4.3 2.4.3 常用控件常用控件 4 4按鈕按鈕CommandButtonCommandButton控件控件命令按鈕的常用屬性、方法和事件:命令按鈕的常用屬性、方法和事件: CancelCancel屬性屬性 設(shè)置為設(shè)置為TrueTrue時(shí),單擊該命令按鈕與按時(shí),單擊該命令按鈕與按EscEsc鍵的作用相同。鍵的作用相同。 DefaultDefault屬性屬性 設(shè)置為設(shè)置為TrueTrue時(shí),按回車鍵與單擊該命令按鈕的作用相同

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論