版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、VB程序設計程序設計第二章第二章 面向對象的編程基礎面向對象的編程基礎 本章知識點:本章知識點: 面向對象的程序設計技術概述;對象的概念、面向對象的程序設計技術概述;對象的概念、屬性、方法和事件;屬性、方法和事件;VB程序結構及事件驅程序結構及事件驅動編程機制;窗體與常用控件及其應用。動編程機制;窗體與常用控件及其應用。2.1 2.1 面向對象的程序設計技術概述面向對象的程序設計技術概述2.2 Visual Basic2.2 Visual Basic中的對象中的對象2.3 VB2.3 VB程序結構與事件驅動編程機制程序結構與事件驅動編程機制2.4 2.4 窗體與控件窗體與控件2.1 2.1 面
2、向對象的程序設計技術概述面向對象的程序設計技術概述 2.1.1 2.1.1 面向對象的概念面向對象的概念1 1類與對象類與對象 一個類描述一類事物,描述這些事物所具有的共同一個類描述一類事物,描述這些事物所具有的共同特征屬性),即用類來抽象定義同類對象。一個對象特征屬性),即用類來抽象定義同類對象。一個對象是類的一個實例,它具有確定的屬性。是類的一個實例,它具有確定的屬性。 參見下圖:參見下圖: 1 1個職工類具有姓名、性別、年齡、職個職工類具有姓名、性別、年齡、職業(yè)業(yè). . .等共同屬性,它屬抽象類。無數(shù)具有確定屬性的等共同屬性,它屬抽象類。無數(shù)具有確定屬性的職工,如陳紅、劉立、職工,如陳紅
3、、劉立、.是職工類的實例對象)。是職工類的實例對象)。 2.1 2.1 面向對象的程序設計技術概述面向對象的程序設計技術概述 2.1.1 2.1.1 面向對象的概念面向對象的概念2 2對象的三要素對象的三要素 在面向對象的系統(tǒng)中,世界被看成是獨立在面向對象的系統(tǒng)中,世界被看成是獨立“對象的對象的集合。即屬性、方法、事件構成一個對象的三要素。集合。即屬性、方法、事件構成一個對象的三要素。屬性屬性 描述對象的特征描述對象的特征方法方法 反映對象動作的行為反映對象動作的行為事件事件 對象可能發(fā)生的一切活動對象可能發(fā)生的一切活動 如一個人作為對象有姓名、身高、體重等屬性;有如一個人作為對象有姓名、身高
4、、體重等屬性;有走路、思索、開車等行為;還有在一定條件下發(fā)生的事走路、思索、開車等行為;還有在一定條件下發(fā)生的事件。件。 2.1.2 2.1.2 面向對象的程序設計技術面向對象的程序設計技術1 1面向對象技術的基本特征面向對象技術的基本特征 封裝性、繼承性和多態(tài)性是面向對象程序設計技術的封裝性、繼承性和多態(tài)性是面向對象程序設計技術的三大特征。三大特征。 封裝性封裝性 封裝就是把對象的屬性和方法結合成一個不可分割的封裝就是把對象的屬性和方法結合成一個不可分割的獨立單位。對象的屬性值除公有的屬性值只能由該獨立單位。對象的屬性值除公有的屬性值只能由該對象的方法來讀取和修改,與外部的聯(lián)系只能通過外部對
5、象的方法來讀取和修改,與外部的聯(lián)系只能通過外部接口實現(xiàn)。接口實現(xiàn)。 數(shù)據(jù)封裝和隱藏提供了一種對數(shù)據(jù)訪問嚴格控制的機數(shù)據(jù)封裝和隱藏提供了一種對數(shù)據(jù)訪問嚴格控制的機制。例如,制。例如,VBVB中的類模塊是支持數(shù)據(jù)封裝的工具,它將中的類模塊是支持數(shù)據(jù)封裝的工具,它將數(shù)據(jù)和對該數(shù)據(jù)的操作封裝在一起作為類的定義。類是數(shù)據(jù)和對該數(shù)據(jù)的操作封裝在一起作為類的定義。類是一個整體,在這個整體中,一些成員被有效地屏蔽,以一個整體,在這個整體中,一些成員被有效地屏蔽,以防外界的干擾;另一些成員是公共的,它們作為公共接防外界的干擾;另一些成員是公共的,它們作為公共接口可與外界交換信息??诳膳c外界交換信息。 2.1.2
6、 2.1.2 面向對象的程序設計技術面向對象的程序設計技術1 1面向對象技術的基本特征面向對象技術的基本特征 繼承性繼承性 繼承性是從已定義的類派生出新類的一種手段。通過繼繼承性是從已定義的類派生出新類的一種手段。通過繼承可以對某定義的類進行細化,添加新的屬性和方法,從而承可以對某定義的類進行細化,添加新的屬性和方法,從而形成子類。這個類既有自己新定義的屬性和行為,又有繼承形成子類。這個類既有自己新定義的屬性和行為,又有繼承下來的屬性和行為。下來的屬性和行為。 見圖所示:最頂部的人員類稱為基類父類),從它派見圖所示:最頂部的人員類稱為基類父類),從它派生出的學生類和教師類稱為派生類子類);以學
7、生類為基生出的學生類和教師類稱為派生類子類);以學生類為基類又派生出研究生子類;助教類是以教師類和研究生類為基類又派生出研究生子類;助教類是以教師類和研究生類為基類派生出的子類。類派生出的子類。 作為繼承的實例,作為繼承的實例,Windows XPWindows XP操作系統(tǒng)是從操作系統(tǒng)是從Windows Windows 20002000操作系統(tǒng)派生出來。操作系統(tǒng)派生出來。2.1.2 2.1.2 面向對象的程序設計技術面向對象的程序設計技術1 1面向對象技術的基本特征面向對象技術的基本特征 多態(tài)性多態(tài)性 多態(tài)體現(xiàn)在系統(tǒng)中不同對象對同一消息作出不同的響應行多態(tài)體現(xiàn)在系統(tǒng)中不同對象對同一消息作出不
8、同的響應行為。即多個對象定義名稱相同但完成不同任務的函數(shù),并使為。即多個對象定義名稱相同但完成不同任務的函數(shù),并使用相同的調用方式來調用具有不同功能的同名函數(shù)。這種面用相同的調用方式來調用具有不同功能的同名函數(shù)。這種面向對象的特性稱為多態(tài)性。向對象的特性稱為多態(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行為,又各自擴充了新功能。各子類對象接行為,又各自擴充了新功能。各子類對象接收到相同的收到相同的showshow消息后執(zhí)行其類中同名的消息后執(zhí)行其類中同名的showshow函數(shù)完成不函數(shù)完成不同任務)同任務), ,以顯示不同類型的數(shù)據(jù)。以顯示不同類型的數(shù)據(jù)。 2.1.2 2.1.2 面向對象的程序設計技術面向對象的程序設計技術2 2面向對象程序的工作原理面向對象程序的工作原理 從面向對象的角度看,程序是對象的集合;對象之間從面向對象的角度看,程序是對象的集合;對象之間的相互作用構成了一個軟件系統(tǒng)。對象參與的交互動作的相互作用構成
10、了一個軟件系統(tǒng)。對象參與的交互動作稱為事件。通過事件,消息在對象之間發(fā)送,接收消息稱為事件。通過事件,消息在對象之間發(fā)送,接收消息的對象調用相應的方法進行響應。面向對象程序的工作的對象調用相應的方法進行響應。面向對象程序的工作原理如圖所示。原理如圖所示。2.1.2 2.1.2 面向對象的程序設計技術面向對象的程序設計技術3 3面向對象的程序設計方法面向對象的程序設計方法 面向對象程序設計強調的是數(shù)據(jù)對象,建立層次化面向對象程序設計強調的是數(shù)據(jù)對象,建立層次化的對象體系。它是基于解決問題的業(yè)務邏輯,而不是基的對象體系。它是基于解決問題的業(yè)務邏輯,而不是基于具體的程序步驟。于具體的程序步驟。 綜上
11、所述,面向對象的程序設計方法可以表示為:綜上所述,面向對象的程序設計方法可以表示為: 面向對象面向對象 = = 對象對象 + + 類類 + + 承襲承襲 + + 消息通信消息通信 由此可見,面向對象的程序設計既使用對象又使用類由此可見,面向對象的程序設計既使用對象又使用類和繼承機制,而且對象之間僅能通過消息實現(xiàn)彼此之間和繼承機制,而且對象之間僅能通過消息實現(xiàn)彼此之間的通信。的通信。 2.2 Visual Basic2.2 Visual Basic中的對象中的對象 2.2.1 2.2.1 對象的概念對象的概念 VBVB的一個對象是指將數(shù)據(jù)和處理該數(shù)據(jù)的過程函的一個對象是指將數(shù)據(jù)和處理該數(shù)據(jù)的過程
12、函數(shù)和子程序捆綁在一起的一個程序部件。對象是具有數(shù)和子程序捆綁在一起的一個程序部件。對象是具有屬性數(shù)據(jù)和行為方法的實體。屬性數(shù)據(jù)和行為方法的實體。VBVB的對象分為兩的對象分為兩類:類:1 1預定義對象預定義對象 由系統(tǒng)設計好提供給用戶使用,如窗體、控件、打印由系統(tǒng)設計好提供給用戶使用,如窗體、控件、打印機、調試、剪貼板、屏幕等;機、調試、剪貼板、屏幕等;2 2用戶建立對象用戶建立對象 建立一個對象,就是新建窗體以及在窗體上繪制控件建立一個對象,就是新建窗體以及在窗體上繪制控件的過程;對象也可通過程序來建立,但必須由用戶在程的過程;對象也可通過程序來建立,但必須由用戶在程序中為對象命名。如窗體
13、序中為對象命名。如窗體Form1Form1,按鈕,按鈕( (控件控件)buttn)buttn等。等。 2.2 Visual Basic2.2 Visual Basic中的對象中的對象 2.2.2 2.2.2 對象的屬性、方法和事件對象的屬性、方法和事件 在在VBVB環(huán)境下建立一個對象后,其操作通過與該對環(huán)境下建立一個對象后,其操作通過與該對象有關的屬性、方法和事件來描述。象有關的屬性、方法和事件來描述。 1 1對象的屬性對象的屬性 屬性屬性PropertyProperty是描是描述對象特征的數(shù)據(jù)。如氣述對象特征的數(shù)據(jù)。如氣球屬性有直徑、顏色、外球屬性有直徑、顏色、外形形( (充氣或未充氣充氣或
14、未充氣) )、壽命、壽命等。等。2.2 Visual Basic2.2 Visual Basic中的對象中的對象 2.2.2 2.2.2 對象的屬性、方法和事件對象的屬性、方法和事件1 1對象的屬性對象的屬性 不同對象有不同的屬性。不同對象有不同的屬性。VBVB對象常見屬性有標題對象常見屬性有標題CaptionCaption)、控件名稱)、控件名稱NameName)、顏色)、顏色ColorColor)、字)、字體大小體大小FontsizeFontsize)、是否加粗)、是否加粗FondBoldFondBold)、是否可)、是否可見見VisibleVisible等。等。 可以通過修改對象的屬性值
15、來改變對象的特征,設可以通過修改對象的屬性值來改變對象的特征,設置對象的屬性值有兩種方式:置對象的屬性值有兩種方式: 利用利用“屬性窗口設置對象的屬性操作見屬性窗口設置對象的屬性操作見2.4.42.4.4) 在程序中設置對象的屬性賦值語句)在程序中設置對象的屬性賦值語句) 其語法格式:其語法格式: 對象名對象名.屬性名屬性名= =屬性值屬性值 2.2.2 2.2.2 對象的屬性、方法和事件對象的屬性、方法和事件1 1對象的屬性對象的屬性 讀寫對象的屬性值讀寫對象的屬性值 對象的大多數(shù)屬性是可讀取的,但不是所有的屬性都對象的大多數(shù)屬性是可讀取的,但不是所有的屬性都是可改寫的。是可改寫的。 例如,
16、在用戶窗體例如,在用戶窗體Form1Form1上有二個文本框控件,對象上有二個文本框控件,對象名分別為名分別為Text1Text1和和Text2Text2,該控件有一屬性,該控件有一屬性TextText,屬性值,屬性值則是文本框的顯示內容。則是文本框的顯示內容。 讀寫對象屬性的賦值語句如下:讀寫對象屬性的賦值語句如下: Text1.Text=Text1.Text=歡迎光臨歡迎光臨 (改寫對象屬性)(改寫對象屬性) Text2.Text=Text1.Text Text2.Text=Text1.Text (讀取對象屬性)(讀取對象屬性)2.2.2 2.2.2 對象的屬性、方法和事件對象的屬性、方法
17、和事件2 2對象的方法對象的方法 方法是描述對象行為的過程,指對象能執(zhí)行的動作方法是描述對象行為的過程,指對象能執(zhí)行的動作或功能,如顯示或打印、繪圖、移動等?;蚬δ?,如顯示或打印、繪圖、移動等。 對于對于VBVB預定義對象,其方法是封裝在對象中用來操預定義對象,其方法是封裝在對象中用來操作對象屬性的代碼段特殊的過程或函數(shù)),是不可見作對象屬性的代碼段特殊的過程或函數(shù)),是不可見和不可改寫的。和不可改寫的。 不同的對象有不同的方法不同的對象有不同的方法, ,有些方法可適用于多種類有些方法可適用于多種類型的對象,而有些方法只適用于幾種對象。如大部分對型的對象,而有些方法只適用于幾種對象。如大部分對
18、象具有方法象具有方法MoveMove移動位置),而按鈕和文本框控件對移動位置),而按鈕和文本框控件對象都具有方法象都具有方法SetFocusSetFocus將焦點移至指定對象)。將焦點移至指定對象)。 2.2.2 2.2.2 對象的屬性、方法和事件對象的屬性、方法和事件2 2對象的方法對象的方法 調用對象的方法:調用對象的方法: 其語法格式:其語法格式: 對象名對象名.方法名方法名 參數(shù)列表參數(shù)列表 例例1 1:在用戶窗體:在用戶窗體Form1Form1上有一名為上有一名為txtnametxtname的文本框控件,的文本框控件,用來輸入用戶名,調用方法用來輸入用戶名,調用方法MoveMove移
19、動文本框位置;調用方法移動文本框位置;調用方法SetFocusSetFocus將焦點光標移至文本框以便接收信息。將焦點光標移至文本框以便接收信息。 Txtname.Move 300,300 Txtname.Move 300,300 Txtname.SetFocus Txtname.SetFocus (將光標置于用戶名框)(將光標置于用戶名框) 例例2 2:使用方法:使用方法PrintPrint在當前窗體在當前窗體Form1Form1或打印機上輸出字或打印機上輸出字符串符串 歡迎使用歡迎使用VBVB。 Print Print “歡迎使用歡迎使用VBVB” (缺省對象為當前窗體(缺省對象為當前窗體
20、Form1Form1) Printer.Print Printer.Print “歡迎使用歡迎使用VBVB” (打印機對象名(打印機對象名PrinterPrinter)2.2.2 2.2.2 對象的屬性、方法和事件對象的屬性、方法和事件3 3對象的事件對象的事件(1)(1)事件事件 事件是事件是VBVB預先設置好的、能夠被對象識別的動作,如預先設置好的、能夠被對象識別的動作,如ClickClick單擊)、單擊)、DblClickDblClick雙擊)、雙擊)、MouseMoveMouseMove移動移動鼠標)、鼠標)、LoadLoad裝入等。裝入等。 不同的對象能識別的事件也不一樣。例如,窗體
21、能識不同的對象能識別的事件也不一樣。例如,窗體能識別裝載別裝載Load()Load()、單擊、單擊Click()Click()、活動、活動Activate()Activate()等事件;等事件;命令按鈕能識別單擊命令按鈕能識別單擊Click()Click()、雙擊、雙擊DblClick()DblClick()、獲得焦、獲得焦點點GotFocus()GotFocus()等事件。等事件。 事件一般發(fā)生在用戶與應用程序交互時,如單擊控件、事件一般發(fā)生在用戶與應用程序交互時,如單擊控件、鍵盤輸入、移動鼠標等。也有部分事件是由系統(tǒng)觸發(fā),鍵盤輸入、移動鼠標等。也有部分事件是由系統(tǒng)觸發(fā),如計時器事件、程序啟
22、動時窗體加載如計時器事件、程序啟動時窗體加載Form_Load(Form_Load()事件。)事件。 2.2.2 2.2.2 對象的屬性、方法和事件對象的屬性、方法和事件3 3對象的事件對象的事件(2)(2)事件過程事件過程 事件過程是對某個對象事件所執(zhí)行的操作。響應某個事件過程是對某個對象事件所執(zhí)行的操作。響應某個事件后所執(zhí)行的操作是通過一段程序代碼來實現(xiàn)的。事件后所執(zhí)行的操作是通過一段程序代碼來實現(xiàn)的。 一個對象可以識別一個或多個事件,因而可以擁有一一個對象可以識別一個或多個事件,因而可以擁有一個或多個事件過程。每個事件過程必須由用戶或系統(tǒng)啟個或多個事件過程。每個事件過程必須由用戶或系統(tǒng)啟
23、動相應事件后,才會執(zhí)行該事件響應程序代碼。動相應事件后,才會執(zhí)行該事件響應程序代碼。 事件過程的一般格式如下:事件過程的一般格式如下: Private sub Private sub 對象名稱對象名稱_ _事件名稱事件名稱()() 事件響應程序代碼事件響應程序代碼 End sub End sub 2.2.2 2.2.2 對象的屬性、方法和事件對象的屬性、方法和事件3 3對象的事件對象的事件(2)(2)事件過程事件過程 例如,以下事件過程例如,以下事件過程Command1_Click()Command1_Click()是單擊命令按是單擊命令按鈕鈕Command1Command1控件時所執(zhí)行的操作
24、??丶r所執(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 當用戶單擊命令按鈕當用戶單擊命令按鈕Command1Command1控件,將觸發(fā)單擊事件控件,將觸發(fā)單擊事件Command1_Click()Command1_Click(),從而執(zhí)行該響應程序代碼,
25、在,從而執(zhí)行該響應程序代碼,在Text1Text1文本框中顯示文本框中顯示 歡迎使用歡迎使用VB,VB,其字體為黑體,文字為紅色。其字體為黑體,文字為紅色。2.3 VB2.3 VB程序結構與事件驅動編程機制程序結構與事件驅動編程機制 2.3.1 VB2.3.1 VB程序的結構程序的結構 VB VB應用程序以應用程序以“對象為中心來設計模塊,它通常對象為中心來設計模塊,它通常由三種模塊組成:窗體模塊、標準模塊和類模塊。由三種模塊組成:窗體模塊、標準模塊和類模塊。 VBVB應用程序結構的三種模塊應用程序結構的三種模塊 可以通過可以通過“工程菜單中工程菜單中的的“添加窗體添加窗體”、“添加模塊添加模
26、塊”、“添加類模塊來實現(xiàn)。添加類模塊來實現(xiàn)。 參見右圖,顯示在工程窗參見右圖,顯示在工程窗口中的三種模塊??谥械娜N模塊。 2.3 VB2.3 VB程序結構與事件驅動編程機制程序結構與事件驅動編程機制 2.3.1 VB2.3.1 VB程序的結構程序的結構1 1窗體模塊窗體模塊 窗體模塊是指在窗體模塊是指在VBVB工程中以工程中以.frm .frm 為文件擴展為文件擴展名的文件,其中包含窗體的圖形描述;其控件以名的文件,其中包含窗體的圖形描述;其控件以及控件的屬性設置;事件過程和通用過程等。及控件的屬性設置;事件過程和通用過程等。 一個應用程序包含一個或多個窗體模塊。一個應用程序包含一個或多個窗
27、體模塊。 每個窗體模塊可分為二部分,一部分作為用戶每個窗體模塊可分為二部分,一部分作為用戶界面窗體的圖形描述),另一部分是執(zhí)行具體界面窗體的圖形描述),另一部分是執(zhí)行具體操作的代碼事件過程),這些代碼與窗體或控操作的代碼事件過程),這些代碼與窗體或控件相關聯(lián)。件相關聯(lián)。2.3.1 VB2.3.1 VB程序的結構程序的結構1 1窗體模塊窗體模塊 如程序啟動時執(zhí)行窗體加如程序啟動時執(zhí)行窗體加載事件過程載事件過程Form_Load()Form_Load(),在在Text1Text1文本框顯示文本框顯示“歡迎使歡迎使用用VBVB”; 當單擊當單擊Command1Command1按鈕時,按鈕時,啟動啟動
28、 Command1_Click() Command1_Click()命命令按鈕單擊事件過程,文本令按鈕單擊事件過程,文本框的文字呈現(xiàn)黑體和紅色,框的文字呈現(xiàn)黑體和紅色,如右圖所示。如右圖所示。 2.3.1 VB2.3.1 VB程序的結構程序的結構2 2標準模塊標準模塊 標準模塊是指擴展名為標準模塊是指擴展名為.BAS.BAS的文件,它完全由代碼組的文件,它完全由代碼組成,該文件中的代碼不與具體的窗體或控件相關聯(lián)。成,該文件中的代碼不與具體的窗體或控件相關聯(lián)。 在標準模塊中,可以定義函數(shù)過程或子程序過程,且在標準模塊中,可以定義函數(shù)過程或子程序過程,且模塊級別聲明和定義都被默認為模塊級別聲明和定
29、義都被默認為 PublicPublic全局),即標全局),即標準模塊中的過程可以被窗體模塊中的任何事件過程調用。準模塊中的過程可以被窗體模塊中的任何事件過程調用。3 3類模塊類模塊 類模塊是指擴展名為類模塊是指擴展名為.CLS.CLS的文件,包含有類定義的模的文件,包含有類定義的模塊其屬性和方法的定義)。類模塊將代碼和數(shù)據(jù)封裝塊其屬性和方法的定義)。類模塊將代碼和數(shù)據(jù)封裝在同一個模塊中,使得對象能保護和驗證其中的數(shù)據(jù)。在同一個模塊中,使得對象能保護和驗證其中的數(shù)據(jù)。 每個類模塊定義了一個類,由一個類可創(chuàng)建多個對象每個類模塊定義了一個類,由一個類可創(chuàng)建多個對象類的實例),創(chuàng)建對象的類能將數(shù)據(jù)和過
30、程組織成一類的實例),創(chuàng)建對象的類能將數(shù)據(jù)和過程組織成一個整體。個整體。 可以在窗體模塊中創(chuàng)建類的對象,從而調用類模塊中可以在窗體模塊中創(chuàng)建類的對象,從而調用類模塊中的過程。的過程。2.3 VB2.3 VB程序結構與事件驅動編程機制程序結構與事件驅動編程機制 2.3.2 2.3.2 事件驅動編程機制事件驅動編程機制 Visual BasicVisual Basic是采用事件驅動編程機制的語言,事件驅是采用事件驅動編程機制的語言,事件驅動編程機制具有如下幾個要點:動編程機制具有如下幾個要點: 應用程序基于對象組成應用程序基于對象組成 每個對象都有預定義的事件集每個對象都有預定義的事件集 每個事件
31、的發(fā)生都依賴于一定的條件用戶或系統(tǒng)驅動)每個事件的發(fā)生都依賴于一定的條件用戶或系統(tǒng)驅動) 每個事件發(fā)生后的響應取決于事件過程中的程序代碼每個事件發(fā)生后的響應取決于事件過程中的程序代碼 事件驅動程序的核心機制是由用戶控制事件的發(fā)生,即事件驅動程序的核心機制是由用戶控制事件的發(fā)生,即用戶發(fā)出什么動作事件),事件驅動應用程序相關聯(lián)用戶發(fā)出什么動作事件),事件驅動應用程序相關聯(lián)的事件過程執(zhí)行程序代碼,做出響應。的事件過程執(zhí)行程序代碼,做出響應。 例如,當用戶單擊窗體,則執(zhí)行窗體的單擊事件過程中例如,當用戶單擊窗體,則執(zhí)行窗體的單擊事件過程中代碼;如果單擊命令按鈕,則執(zhí)行命令按鈕的單擊事件過代碼;如果單
32、擊命令按鈕,則執(zhí)行命令按鈕的單擊事件過程中代碼。程中代碼。 2.4 2.4 窗體與控件窗體與控件 2.4.1 2.4.1 窗體窗體 窗體與窗體與WindowsWindows下窗口的結構或特性都十分類似。下窗口的結構或特性都十分類似。在設計程序時,窗體是程序員的工作臺;而運行程序在設計程序時,窗體是程序員的工作臺;而運行程序時,每個窗體對應于一個窗口。窗體是一個特殊的控時,每個窗體對應于一個窗口。窗體是一個特殊的控件對象,是其他控件的容器。在窗體上可以布局其它件對象,是其他控件的容器。在窗體上可以布局其它控件,直觀地建立應用程序??丶庇^地建立應用程序。 窗體窗體(Form)(Form)能夠成
33、為用戶設計的數(shù)據(jù)輸入輸出界面。能夠成為用戶設計的數(shù)據(jù)輸入輸出界面。通過用戶窗體和控件可方便地輸入數(shù)據(jù)、輸出結果以通過用戶窗體和控件可方便地輸入數(shù)據(jù)、輸出結果以及控制應用程序的執(zhí)行。及控制應用程序的執(zhí)行。 窗體作為窗體作為VBVB的對象,具有自己的屬性、方法和事件。的對象,具有自己的屬性、方法和事件。 2.4.1 2.4.1 窗體窗體1 1窗體的常用屬性窗體的常用屬性 NameName:窗體對象的名字,默認值:窗體對象的名字,默認值Form1Form1。 CaptionCaption:窗體標題的名字字符串):窗體標題的名字字符串) BackColorBackColor:窗體背景顏色:窗體背景顏色
34、, ,如如vbRed(vbRed(紅紅) )、vbBlue(vbBlue(藍藍) ) ForeColor ForeColor:設置文本或圖形的前景顏色。:設置文本或圖形的前景顏色。 BorderStyleBorderStyle:窗體的邊框樣式,可?。捍绑w的邊框樣式,可取0 05 5的整數(shù)。的整數(shù)。 Height,WidthHeight,Width:指定窗體的高度和寬度。:指定窗體的高度和寬度。 其設置格式如下:其設置格式如下: 對象對象.Height =.Height =數(shù)值數(shù)值 對象對象.Width =.Width =數(shù)值數(shù)值 如果不設置該屬性,則窗口大小與設計時的窗體大小如果不設置該屬性,
35、則窗口大小與設計時的窗體大小相同。相同。 2.4.1 2.4.1 窗體窗體2 2窗體的常用事件窗體的常用事件 Click(Click(單擊單擊) )事件事件 單擊窗體內除控件外某位置,觸發(fā)單擊窗體內除控件外某位置,觸發(fā)Form_Click()Form_Click()單擊單擊事件過程。事件過程。 DblClick(DblClick(雙擊雙擊) )事件事件 雙擊窗體某個位置,觸發(fā)雙擊窗體某個位置,觸發(fā)Form_ DblClick()Form_ DblClick()事件過程。事件過程。 Load(Load(裝入裝入) )事件事件: :把窗體裝入工作區(qū)觸發(fā)該事件過程。把窗體裝入工作區(qū)觸發(fā)該事件過程。
36、Unload(Unload(卸載卸載) )事件事件: :清除一個窗體時觸發(fā)該事件過程。清除一個窗體時觸發(fā)該事件過程。 Activate(Activate(活動活動) )事件事件: :窗體變?yōu)榛顒哟翱谟|發(fā)該事件過程。窗體變?yōu)榛顒哟翱谟|發(fā)該事件過程。 Paint(Paint(繪畫繪畫) )事件事件: :當窗體被移動或放大觸發(fā)該事件過程。當窗體被移動或放大觸發(fā)該事件過程。2.4.1 2.4.1 窗體窗體3 3窗體的常用方法窗體的常用方法 PrintPrint方法方法 用于在窗體用于在窗體FormForm)、圖片框)、圖片框PicturePicture)、打印機)、打印機(Printer)(Print
37、er)上輸出字符或數(shù)值。上輸出字符或數(shù)值。 ClsCls清屏方法清屏方法 清除窗體上由清除窗體上由PrintPrint方法顯示的字符和數(shù)值,或圖片框方法顯示的字符和數(shù)值,或圖片框中顯示的圖形。中顯示的圖形。 MoveMove方法方法 用來移動窗體和控件,并可改變其大小。用來移動窗體和控件,并可改變其大小。 ShowShow或或HideHide方法方法 主要用于多窗體程序設計中,顯示或隱藏指定的窗主要用于多窗體程序設計中,顯示或隱藏指定的窗體。體。2.4.1 2.4.1 窗體窗體3 3窗體的常用方法窗體的常用方法 PrintPrint方法舉例如下:方法舉例如下: 例例1 1,某窗體的單擊事件過程
38、,某窗體的單擊事件過程Form1_Click()Form1_Click()中,響應程序代碼使用中,響應程序代碼使用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 計算機世界計算機世界 Picture.Print Picture.P
39、rint 教材書教材書;5+20; ;5+20; 本本 End SubEnd Sub 3 3窗體的常用方法窗體的常用方法 MoveMove方法舉例如下:方法舉例如下: 例例2 2,在窗體的任意位置畫一個文本框控件,在窗體的任意位置畫一個文本框控件Text1Text1,使用,使用MoveMove方法移動窗體和文本框的位置并改變其大小。窗體單方法移動窗體和文本框的位置并改變其大小。窗體單擊事件過程擊事件過程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的位置處,并將其大小設置為寬度的位置處,并將其大小設置為寬度38003800和高度和高度25002500;然后;然后把文本框移到窗體的把文本框移到窗體的200,200200,200處,把大小設置為寬處,把大小設置為寬15001500,高高10001000。 2.4 2.4 窗體
41、與控件窗體與控件 2.4.2 2.4.2 控件的使用控件的使用 在設計用戶界面時,需要在窗體上畫出各種所需的控件,在設計用戶界面時,需要在窗體上畫出各種所需的控件,控件是構成用戶界面的基本元素??丶菢嫵捎脩艚缑娴幕驹?。1 1控件的類型控件的類型 VBVB的控件分為以下三類的控件分為以下三類 標準控件也稱內部控件)標準控件也稱內部控件) 內部控件以圖標形式在工具箱中列出,不能添加或刪除。內部控件以圖標形式在工具箱中列出,不能添加或刪除。如標簽、文本框、圖片框、命令按鈕、列表框等。如標簽、文本框、圖片框、命令按鈕、列表框等。 ActiveXActiveX控件控件 各種版本各種版本VBVB提供
42、的控件,僅在專業(yè)版和企業(yè)版中提供的提供的控件,僅在專業(yè)版和企業(yè)版中提供的控件,以及第三方提供的控件,以及第三方提供的ActiveXActiveX控件??丶?。 可插入對象可插入對象 該對象能添加到工具箱中,可以被當做控件。該對象能添加到工具箱中,可以被當做控件。 2.4.2 2.4.2 控件的使用控件的使用2 2控件的畫法控件的畫法 建立用戶界面的主要工作是畫控件,通過兩種方建立用戶界面的主要工作是畫控件,通過兩種方法可以在窗體上畫一個控件。法可以在窗體上畫一個控件。 控件畫法一略)控件畫法一略) 控件畫法二控件畫法二 即雙擊工具箱中某種控件圖標,即在當前窗體的中即雙擊工具箱中某種控件圖標,即在
43、當前窗體的中心位置自動畫出顯示該控件。心位置自動畫出顯示該控件。留意:留意: 用畫法一畫控件的過程中,所畫控件的大小和位置用畫法一畫控件的過程中,所畫控件的大小和位置是可變的;而用畫法二所畫控件的大小和位置是固定是可變的;而用畫法二所畫控件的大小和位置是固定的。兩種方法畫完控件后,均可重新調整控件的大小的。兩種方法畫完控件后,均可重新調整控件的大小和位置。和位置。 2.4.2 2.4.2 控件的使用控件的使用3 3控件的基本操作控件的基本操作 對控件的所有操作都是針對活動控件對控件的所有操作都是針對活動控件( (該控件的邊該控件的邊框上有八個黑色小方塊框上有八個黑色小方塊) )進行的,不活動的
44、控件不能進行的,不活動的控件不能進行任何操作。進行任何操作。 控件的選擇控件的選擇 控件的縮放和移動控件的縮放和移動 控件的復制和刪除控件的復制和刪除 多個控件的對齊與調整多個控件的對齊與調整 2.4 2.4 窗體與控件窗體與控件 2.4.3 2.4.3 常用控件常用控件 本小節(jié)僅介紹幾個常用控件:標簽、文本框、命令本小節(jié)僅介紹幾個常用控件:標簽、文本框、命令按鈕以及它們的屬性、方法和事件。按鈕以及它們的屬性、方法和事件。1 1常用控件的公共屬性常用控件的公共屬性 NameName控件的名字)控件的名字) CaptionCaption控件上顯示的文字內容)控件上顯示的文字內容) Visible
45、Visible取值取值TureTure或或FlaseFlase,決定對象是否可見),決定對象是否可見) FontFont系列字符格式)系列字符格式) FontNameFontName字體:宋體)字體:宋體) FontSizeFontSize字號)、字號)、FontBoldFontBold粗體字)粗體字) FontItalicFontItalic斜體字)、斜體字)、FontUnderlineFontUnderline下劃線)下劃線)2.4.3 2.4.3 常用控件常用控件 1 1常用控件的公共屬性常用控件的公共屬性 LeftLeft、TopTop和和HeightHeight、WidthWidth
46、整型數(shù))整型數(shù)) 確定界面對象的坐標位置和尺寸大小。確定界面對象的坐標位置和尺寸大小。 ForeColorForeColor前景色):與窗體該屬性相同。前景色):與窗體該屬性相同。 BackColorBackColor背景色):與窗體該屬性相同。背景色):與窗體該屬性相同。 BorderStyleBorderStyle邊框樣式):邊框樣式): 取值取值0-0-控件無邊框線,取值控件無邊框線,取值1-1-控件周圍加單線邊框??丶車訂尉€邊框。 EnabledEnabled邏輯型)邏輯型) 用來確定對象是否有效可用),即一個窗體和控件是用來確定對象是否有效可用),即一個窗體和控件是否能夠對用戶產
47、生的事件做出反應。取值否能夠對用戶產生的事件做出反應。取值True True ,允許對,允許對象對事件做出反應;取值象對事件做出反應;取值FlaseFlase,禁止對事件做出反應。,禁止對事件做出反應。2.4.3 2.4.3 常用控件常用控件 2 2標簽標簽LabelLabel控件控件 標簽主要用來顯示文本信息,其默認名稱標簽主要用來顯示文本信息,其默認名稱NameName和標題和標題CaptionCaption為為Label1Label1、Label2Label2、Label3Label3,它顯示的文本信息只能用它顯示的文本信息只能用CaptionCaption屬性來設置或修改,屬性來設置或
48、修改,不能直接編輯。不能直接編輯。 標簽常用來標注本身不具有標簽常用來標注本身不具有CaptionCaption屬性的控件,屬性的控件,如文本框、列表框和組合框等。在窗體中添加這些控如文本框、列表框和組合框等。在窗體中添加這些控件時,可用標簽為它們附加描述性文字。件時,可用標簽為它們附加描述性文字。 標簽的部分屬性除了與大多數(shù)控件的共同屬性相標簽的部分屬性除了與大多數(shù)控件的共同屬性相同外,還有一些特殊的屬性。同外,還有一些特殊的屬性。 2 2標簽標簽LabelLabel控件控件(1)(1)標簽特有屬性標簽特有屬性 Alignment Alignment 用來確定標簽中顯示標題的對齊方式,可以設
49、置為用來確定標簽中顯示標題的對齊方式,可以設置為0-0-左對齊、左對齊、1-1-右對齊、右對齊、2-2-居中。居中。 AutosizeAutosize邏輯型)邏輯型) 若取若取TrueTrue,可根據(jù),可根據(jù)CaptionCaption屬性指定的標題內容,屬性指定的標題內容,自動調整標簽的大??;若取自動調整標簽的大小;若取FlaseFlase,則標簽保持設計,則標簽保持設計時定義的大小,若標題太長,只能部分顯示。時定義的大小,若標題太長,只能部分顯示。 WordWrapWordWrap邏輯型)邏輯型) 確定標簽的標題確定標簽的標題CaptionCaption屬性的顯示方式。即屬性的顯示方式。即
50、標題內容太長時,在行末是否自動換行。值為標題內容太長時,在行末是否自動換行。值為True True 則自動換行,否則不換行。要使則自動換行,否則不換行。要使WordWrapWordWrap屬性起作用,屬性起作用,必須把必須把AutosizeAutosize屬性設置為屬性設置為TrueTrue。2 2標簽標簽LabelLabel控件控件(2)(2)標簽的常用方法和事件標簽的常用方法和事件 標簽常用標簽常用MoveMove方法,方法,ClickClick單擊單擊事件和事件和DblClickDblClick雙擊事件。雙擊事件。 例如,標簽單擊事件過程如下:例如,標簽單擊事件過程如下:Private
51、Sub Label1_Click()Private Sub Label1_Click() Label1.AutoSize = True Label1.AutoSize = True Caption = Caption = 標簽示例標簽示例 Label1.Caption = Label1.Caption = 請輸入密碼請輸入密碼: Label1.FontName = Label1.FontName = 華文彩云華文彩云“ Label1.FontBold = True Label1.FontBold = True Label1.FontSize = 24 Label1.FontSize = 24E
52、nd Sub End Sub 單擊標簽,觸發(fā)該事件過單擊標簽,觸發(fā)該事件過程,執(zhí)行響應程序代碼,程,執(zhí)行響應程序代碼,其運行結果如圖所示其運行結果如圖所示 2.4.3 2.4.3 常用控件常用控件 3 3文本框文本框TextBoxTextBox控件控件 文本框是一個文本編輯區(qū)域,也稱為文字編輯文本框是一個文本編輯區(qū)域,也稱為文字編輯控件控件, ,其對象類名為其對象類名為TextBoxTextBox,默認名稱,默認名稱NameName和和標題標題CaptionCaption為為Text1Text1、Text2Text2。 在設計階段或運行時可以在文本框輸入、修改在設計階段或運行時可以在文本框輸入
53、、修改和顯示文本。通常用于為程序提供輸入數(shù)據(jù)的窗口。和顯示文本。通常用于為程序提供輸入數(shù)據(jù)的窗口。 控件的公共屬性也可以用于文本框,此外文本控件的公共屬性也可以用于文本框,此外文本框控件還具有如下的特殊屬性。框控件還具有如下的特殊屬性。 2.4.3 2.4.3 常用控件常用控件 3 3文本框文本框TextBoxTextBox控件控件(1)(1)文本框的常用屬性文本框的常用屬性 TextText:設置文本框中顯示的內容。:設置文本框中顯示的內容。 MaxLenghtMaxLenght:允許在文本框中輸入的最大字符數(shù)。:允許在文本框中輸入的最大字符數(shù)。 MultilineMultiline:確定文
54、本框是否允許輸入或顯示多行文本。:確定文本框是否允許輸入或顯示多行文本。取值取值True-True-多行,取值多行,取值Flase-Flase-單行。單行。 ScrollBarsScrollBars:確定文本框中是否有滾動條。:確定文本框中是否有滾動條。 PasswordCharPasswordChar:確定所鍵入的字符或占位符在文本框中:確定所鍵入的字符或占位符在文本框中是否顯示出來,主要用來輸入口令。是否顯示出來,主要用來輸入口令。 AlignmentAlignment:確定文本框中文字的對齊方式。:確定文本框中文字的對齊方式。 LockedLocked邏輯型):確定文本框是否可被編輯。邏
55、輯型):確定文本框是否可被編輯。 取取False(False(默認值默認值)-)-可編輯可編輯, ,取值取值True-True-不能編輯。不能編輯。 3 3文本框文本框TextBoxTextBox控件控件(2)(2)文本框的常用方法和事件文本框的常用方法和事件 SetFocusSetFocus方法方法 用于將焦點輸入光標移到指定的文本框中,以便接用于將焦點輸入光標移到指定的文本框中,以便接收輸入信息。即該方法把光標置于所需的文本框。收輸入信息。即該方法把光標置于所需的文本框。 ChangeChange事件事件 用戶改變文本框正文或通過程序代碼把用戶改變文本框正文或通過程序代碼把TextText
56、屬性設置為屬性設置為新值時,將觸發(fā)新值時,將觸發(fā)ChangeChange事件。事件。 GetFocusGetFocus事件事件 該事件在文本框獲得焦點時觸發(fā)??赏ㄟ^按該事件在文本框獲得焦點時觸發(fā)。可通過按TabTab鍵、單鍵、單擊對象以及在代碼中調用擊對象以及在代碼中調用SetFocusSetFocus方法等接收到焦點。方法等接收到焦點。 LostFocusLostFocus事件事件 當按下當按下TabTab鍵使光標焦點離開當前文本框或者鼠標鍵使光標焦點離開當前文本框或者鼠標選擇窗體中其他對象時觸發(fā)該事件。選擇窗體中其他對象時觸發(fā)該事件。文本框的常用方法和事件舉例:文本框的常用方法和事件舉例:
57、 例如,建立兩個文本框,當?shù)谝焕?,建立兩個文本框,當?shù)谝粋€文本框獲得焦點時,將兩個文本個文本框獲得焦點時,將兩個文本框內容清除,設置該文本框的文字框內容清除,設置該文本框的文字為紅色、加粗;在第一文本框輸入為紅色、加粗;在第一文本框輸入文字后按文字后按TabTab鍵離開時,第二個文鍵離開時,第二個文本框內容與第一個文本框內容相同。本框內容與第一個文本框內容相同。文本框獲得焦點時觸發(fā)事件過程:文本框獲得焦點時觸發(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控件控件 按鈕控件是指命令按鈕,其對象的類名為按鈕控件是指命令按鈕,其對象的類名為CommandButtonCommandButton,默認名稱,默認名稱(Name)(Name)和標題和標題CaptionCaption為為Command1Command1、Command2Command2,它是,它是VBVB應用程序中最常用應用程序中最常用的控件。的控件。 命令按鈕通常用來在單擊時執(zhí)行指定的操作,即命令按鈕通常用來在單擊時執(zhí)行指定的操作,即由用戶控制事件的發(fā)生,實現(xiàn)一個過程的開始、中斷由用戶控制事件的發(fā)生,實現(xiàn)一個過程的開始、中斷或結束,提供用戶與應用程序間的交互?;蚪Y束,提供用
60、戶與應用程序間的交互。 大多數(shù)控件的公共屬性都可用于命令按鈕,此外大多數(shù)控件的公共屬性都可用于命令按鈕,此外命令按鈕還有如下的特殊屬性:命令按鈕還有如下的特殊屬性: 2.4.3 2.4.3 常用控件常用控件 4 4按鈕按鈕CommandButtonCommandButton控件控件命令按鈕的常用屬性、方法和事件:命令按鈕的常用屬性、方法和事件: CancelCancel屬性屬性 設置為設置為TrueTrue時,單擊該命令按鈕與按時,單擊該命令按鈕與按EscEsc鍵的作用相同。鍵的作用相同。 DefaultDefault屬性屬性 設置為設置為TrueTrue時,按回車鍵與單擊該命令按鈕的作用相同
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版鍋爐設備維護保養(yǎng)與能源審計合同范本3篇
- 2025版內河水路危險品運輸合同及應急救援協(xié)議3篇
- 二零二五年度挖機操作技能競賽贊助合同
- 1 如何合理選擇抗凝藥物
- 二零二五版民房建筑項目施工合同履約監(jiān)督協(xié)議范本4篇
- 2018年稅務稽查風險防范及企業(yè)應對策略
- 2025年度個人房屋買賣價格調整及支付合同2篇
- 二零二五年度戶外廣告牌發(fā)布與社區(qū)宣傳合作合同范本3篇
- 2025年度農用土地托管服務與機械租賃合同4篇
- 2025年度個人二手房買賣協(xié)議書范本:房屋交易環(huán)保評估合同2篇
- 2025貴州貴陽市屬事業(yè)單位招聘筆試和高頻重點提升(共500題)附帶答案詳解
- 2024年住院醫(yī)師規(guī)范化培訓師資培訓理論考試試題
- 期末綜合測試卷(試題)-2024-2025學年五年級上冊數(shù)學人教版
- 招標采購基礎知識培訓
- 2024年廣東省公務員錄用考試《行測》試題及答案解析
- 五年級口算題卡每天100題帶答案
- 結構力學本構模型:斷裂力學模型:斷裂力學實驗技術教程
- 2024年貴州省中考理科綜合試卷(含答案)
- 無人機技術與遙感
- PDCA提高臥床患者踝泵運動的執(zhí)行率
- 黑色素的合成與美白產品的研究進展
評論
0/150
提交評論