Visual-Basic(60)-程序設計教程VB全部教學課件_第1頁
Visual-Basic(60)-程序設計教程VB全部教學課件_第2頁
Visual-Basic(60)-程序設計教程VB全部教學課件_第3頁
Visual-Basic(60)-程序設計教程VB全部教學課件_第4頁
Visual-Basic(60)-程序設計教程VB全部教學課件_第5頁
已閱讀5頁,還剩783頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

為什么要學本課程?

全國計算機等級考試(二級)中,計算機程序設計是必修課程。Windows程序設計的語言有如下幾種:傳統的C/C++語言:面向過程,學習難度大。VisualC++:面向對象,學習難度大。VisualFoxPro:面向對象和數據庫,已停止發展。VisualBASIC:面向對象,功能強大,比較簡單,適合于作為第一門計算機課程。為什么要學本課程?全國計算機等級考試(二級)學了VB可以干什么?VB可以實現:開發各種應用程序。如“考試系統”。數據庫管理。如“財務管理、成績管理”等。開發動態交互網站。如“電子商務、網上查詢”等。(用VBScript腳本語言,是VB的子集)學了VB可以干什么?VB可以實現:學習要求上課:認真聽講,適當做筆記,不要什么都記。下課:多上機練習、多背程序、多做題。上機實驗:要求提前寫好程序時,希望盡量做到。最大目的:鍛煉邏輯思維,培養創造性,學會發現問題、思考問題、分析問題、解決問題的方法。(掌握算法)學習要求上課:認真聽講,適當做筆記,不要什么都記。下課:多上第一章

概述

第二章

VisualBasic程序設計入門

第三章

窗體與常用控件

第四章程序設計基礎第五章程序控制結構

第六章數組第七章過程

第八章文件第九章圖形操作第十章界面設計第十二章程序調試及錯誤處理

第十一章VisualBasic數據庫編程

VisualBasic程序設計教程第一章概述第二章VisualBas第一章概述1.1VisualBasic的發展和特點

1.1.1VisualBasic的發展

VisualBasic是一種可視化的、面向對象和采用事件驅動方式的高級程序設計語言,可用于開發Windows環境下的各類應用程序。

VisualBasic由Microsoft公司于1991年推出,它的誕生標志著軟件設計和開發開始了一個新的時代。自1991年至今,Microsoft公司先后發布了1.0-7.0等幾個升級版本,使得功能更加強大、完善。目前比較常用的版本是VisualBasic6.0、VisualBasic.NET等。

VisualBasic6.0包含學習版、專業版和企業版。1.1.2VisualBasic的特點

VisualBasic是目前所有開發語言中最簡單、最容易使用的語言。作為程序設計語言,VisualBasic主要有以下特點。

1.可視化編程。

2.面向對象的程序設計。

3.結構化程序設計語言。第一章概述1.1VisualBasic的發展和特點第一章概述4.事件驅動編程機制。

5.強大的數據庫訪問能力。

6.對象的鏈接與嵌入(OLE,ObjectLinkingAndEmbedding)。

7.高度的可擴充性。

8.支持動態數據交換。1.2VisualBasic6.0的啟動和退出

1.VisualBasic6.0的啟動

2.VisualBasic6.0的退出結合VisualBasic6.0

的開發環境介紹VisualBasic6.0

多種啟動方法和退出方式。第一章概述4.事件驅動編程機制。1.2Vis1.3VisualBasic6.0集成開發環境

第一章概述VisualBasic6.0集成開發環境(IDE,IntegratedDevelopmentEnvironment)是提供設計、運行和測試應用程序所需的各種工具的一個工作環境。這些工具互相協調、互相補充,大大減少了應用程序的開發難度。

VisualBasic6.0啟動后,出現如圖的對話框,選擇“標準EXE”,再單擊“打開”,即可進入VisualBasic6.0集成開發環境,如下圖所示。1.3VisualBasic6.0集成開發環境第一章第一章概述屬性窗口工具箱窗口布局窗口代碼窗口工程資源管理器窗口工具欄菜單欄標題欄窗體設計窗口第一章概述屬性窗口工具箱窗口布局窗口代碼窗口工程資第一章概述

1.4VisualBasic6.0的幫助系統1.4.1使用MSDNLibrary

MicrosoftVisualStudio中的MSDNLibrary,包含VisualBasic6.0幫助信息的全面幫助系統,包括示例代碼、文檔、技術文章、Microsoft開發人員知識庫、以及在使用Microsoft公司的技術來開發解決方案時所需要的其他資料。

1.4.2使用上下文相關的幫助

VisualBasic6.0提供了F1功能鍵上下文相關幫助。上下文相關幫助是指用戶在窗口中進行工作的任何時候,按鍵盤上的F1鍵,即可獲得正在操作對象的幫助內容。

1.4.3從Internet上獲得幫助

在Internet上有大量的介紹VisualBasic6.0程序設計技巧、經驗的站點,許多站點上還有例子及源程序下載。第一章概述1.4VisualBasic6.第二章VisualBasic程序設計入門2.1VisualBasic編程的基本概念

學習計算機程序設計課程的目的,就是學會怎樣與計算機交流,將人解決問題的思路、方法、手段以某種計算機能理解的方式告訴計算機,讓計算機根據人的指令去完成某項特定的工作。2.1.1程序語言與程序設計

1、程序設計語言人類進行交流的語言由語音、詞匯和語法構成一定系統;而人與計算機則是通過程序設計語言進行交流的。程序設計語言由字、詞和語法規則構成指令系統。計算機程序設計語言有多種,可用不同的程序設計語言編寫不同的程序來解決同一個問題。從計算機發明至今,隨著計算機硬件技術和軟件技術的發展,計算機程序設計語言經歷了機器語言、匯編語言、高級語言幾個階段。從機器的角度看,程序設計語言可以分為低級語言和高級語言兩大類。第二章VisualBasic程序設計入門2.1V第二章VisualBasic程序設計入門

低級語言是面向機器的指令系統,又分為機器語言和匯編語言。高級語言是接近人類習慣和語言描述方式的指令系統。高級語言不依賴于機器,構成簡單,移植性好,便于記憶、學習和維護。人們常說的“程序設計語言”就是指高級語言。高級語言又分為面向過程的程序設計語言和面向對象的程序設計語言。

2.程序設計計算機程序是用某種程序設計語言編寫一組指示計算機每一步動作的指令,運行于某種目標體系結構上。計算機解決問題的方法和步驟,稱為“計算機算法”,簡稱“算法”。算法是我們學習的重點內容之一,需要我們在學習中逐步積累。

程序設計主要有兩個方面的任務:首先是擬定算法,即將需要計算機處理的實際問題抽象為數學模型,并設計出解決問題所需的方法和步驟;然后是編制程序,即用合適的程序設計語言對設計的算法進行編碼。第二章VisualBasic程序設計入門第二章VisualBasic程序設計入門VisualBasic是采用事件驅動編程機制的可視化程序設計語言。可視化程序設計利用系統所提供的可視“控件類”來創建“對象”,不需編寫大量代碼去描述界面元素的外觀和位置,即可完成界面的設計工作,從而使界面設計更為輕松、簡捷、方便和靈活。2.1.2面向對象程序設計

1.對象與類對象:是具有某些特征的具體事物的實體;類:是同種對象的集合與抽象,它包含這種對象的屬性描述和行為定義。

具體的講,在VB中,工具箱中的控件就是類,設計窗體時,將它(們)放在窗體上時,就是對象。

面向對象程序設計方法,是將數據與程序封裝成一個互相依存、不可分割的整體,這個整體被稱為“對象”,每個對象都是可視的。在VB系統中,對象的特性、名稱、大小、形狀、顏色及功能被稱為屬性。

第二章VisualBasic程序設計入門Vi第二章VisualBasic程序設計入門VB中的“類”是同種對象的集合與抽象,是創建對象的模板。對象類第二章VisualBasic程序設計入門VB第二章VisualBasic程序設計入門

2.對象的屬性、事件和方法對象的屬性、事件和方法是對象的三要素(學習重點)。

屬性:是描述和反映對象特征的參數。例如,對象的標題、顏色、位置、大小等屬性決定了對象展示出的界面具有什么樣的外觀及功能。

對屬性不了解,就不可能設計出好的程序

屬性的表示:對象名·屬性

兩種屬性設置方法:(1)在設計階段設置(在屬性窗口);(2)在程序運行中設置,即在程序代碼中賦值。

[對象名·]屬性=屬性值

‘這里的“=”號為賦值號事件:對象所受到的外部行為,也就是發生在對象上的動作;該對象上發生了事件,如果有響應,這就是事件過程。格式如下:

PrivateSub對象名_事件([參數表])

……Endsub

第二章VisualBasic程序設計入門2.第二章VisualBasic程序設計入門

方法:對象能完成的動作。方法的動作是事先為程序設計人員提供的一種特殊的過程和函數。

(是不可見的程序代碼)

對象方法的調用格式:[對象·]方法[(參數表)]

例2.1.1

Move方法的調用示例。在窗體上創建了一個文本框對象Text1,用鼠標單擊窗體時,將文本框移到坐標為(200,100)的位置上。采用Move方法來實現,其事件過程為:

PrivateSubForm_Click()’窗體單擊事件

Text1.Move200,100’調用Move方法

EndSub

例2.1.2

Print方法的調用示例。用鼠標單擊命令按鈕時,在窗體上顯示“歡迎進入VB6.0!”。事件過程為:

PrivateSubCommand1_Click()’命令按鈕單擊事件

Form1.Print“歡迎進入VB6.0!”’調用Print方法

EndSub

注意省略對象時的含義(指窗體)第二章VisualBasic程序設計入門方法第二章VisualBasic程序設計入門2.1.3可視化程序設計基礎

1.窗體模塊窗體是VisualBasic程序設計的基礎,是最常見的對象。窗體也是容器,各種控件對象都建立在窗體上。用戶通過窗體和窗體上的控件向應用程序提供數據和控制命令,并通過窗體和窗體上的控件獲得程序執行結果。

VB應用程序一般至少包含一個窗體,有的含有多個窗體,一個窗體對應工程管理器中一個窗體模塊。

2.其他用戶界面元素窗體及其控件、菜單欄、工具欄和狀態欄是用戶界面的基本元素。新建的窗體并不包含控件、菜單欄、工具欄和狀態欄,只是在必要時根據應用程序的需要,由程序員自行設計。

可視化程序設計的特點是:引入了控件的概念和事件驅動,程序開發過程一般遵循先設計界面,再基于事件編寫程序代碼。第二章VisualBasic程序設計入門2.1.3第二章VisualBasic程序設計入門2.1.4事件驅動

1.控件對象的事件

VisualBasic系統為每個控件都設置了若干事件(如Click、DblClick、Load等)。多數事件都是由用戶驅動,有的事件是由系統來驅動(如Load事件)。

在VB的代碼窗口中,有對象列表框和事件列表框。只要是在用戶界面設計時創建的控件對象,系統都會將其控件名添加到對象列表框中。若是選中對象列表框中的一個對象,在事件列表框中就會列出該對象的所有事件以供選擇。第二章VisualBasic程序設計入門2.1.4第二章VisualBasic程序設計入門

2.事件過程事件過程是一段告訴計算機應該執行什么操作的程序代碼。每個事件均能驅動相應的事件過程,事件過程代碼需要用戶自己來編寫。VisualBasic程序的主體通常是由若干個事件過程組成的。事件過程的執行是由用戶或系統的動作驅動。例如,單擊鼠標按鈕,觸發按鈕的Click事件,則對應該事件過程中的代碼就會被執行。

事件過程的一般格式是:

PrivateSub對象名_事件([參數表])

'事件過程的過程頭

……

'事件過程的程序代碼

Endsub

'事件過程的過程尾第二章VisualBasic程序設計入門2

3.事件驅動機制面向對象的程序設計中,每個對象都能響應多個不同的事件,每個事件均能驅動一段能完成某項功能的程序代碼。

程序代碼的執行順序,基本上取決于事件發生的順序。3.事件驅動機制程序代碼的執行順序,基本第二章VisualBasic程序設計入門

例2.1.3

事件驅動實例。窗體界面如圖2.1.4所示,運行程序后,用鼠標單擊←、→、↑、↓中的任何一個按鈕,紅色小球就會做出相應的運動。如果鼠標單擊↓按鈕,紅色小球向下移動一次,而其它方向不動;若鼠標單擊←按鈕,紅色小球向左移動一次,而其它方向不動。解:界面設置:在窗體上用Shape控件類生成1個小球,用CommandButton類創建4個命令按鈕。屬性設置:將控件對象Shape1的Shape屬性為Circle,FillColor屬性設置為紅色,Fillstyle屬性設置為0-Solid;將4個命令按鈕的Caption屬性分別設置為←、→、↑、↓(軟鍵盤輸入)。

分析:本程序不改變Shape控件的大小,由Shape控件的Left屬性表示沿水平方向的移動,變量mx表示位移的增量,+mx為向右移動,-mx為向左移動;用Shape控件的Top屬性表示沿垂直方向的移動,+my為向下移動,-my為向上移動。(程序代碼分析請打開例2.1.3

)第二章VisualBasic程序設計入門例第二章VisualBasic程序設計入門2.2控件對象

控件是VisualBasic應用程序界面設計的主要部件。VisualBasic6.0提供了大量的控件。控件的操作主要包括控件對象的建立、控件的屬性設置和控件事件過程代碼編制。2.2.1常用的控件類型:

VB中的控件通常分為3種類型:

1、標準控件(也稱為內部控件):VB啟動后,標準控件就以圖標的形式出現在工具箱中,不能刪除。

2、ActiveX控件:這類控件不在工具箱中,而是以.ocx類型文件形式存在。需要時,ActiveX控件可以添加到工具箱中,也可以從工具箱中移除。

3、可插入對象:用戶可將Word文檔、Excel工作表、PowerPoint幻燈片等作為一個控件對象類添加到工具箱中,編程時根據需要再創建對象。第二章VisualBasic程序設計入門2.2控件第二章VisualBasic程序設計入門2.2.2標準控件

工具箱中每種工具都用一個圖形按鈕來表示,除了第一個指針工具,其余都是控件類。每個按鈕的功能如表2.2.1所示。

控件對象的創建與操作

VB工具箱中的控件對象類用于窗體界面設計。2.2.3

控件的屬性設置

控件的屬性設置有兩種方法(前面已提過):

1、在界面設計階段可以通過屬性窗口直接設置;

2、在程序運行的過程中,可以在代碼中改變控件的屬性。格式為:[對象名·]屬性=屬性值注意省略對象時的含義!

控件的多數屬性既可利用屬性窗口設置,也可根據需要在程序運行時通過程序代碼來改變;也有少數屬性只能用一種方式設置。第二章VisualBasic程序設計入門2.2.2第二章VisualBasic程序設計入門

例2.2.1

在程序代碼中修改屬性實例。單擊窗體,在標簽中用紅顏色顯示“歡迎進入VB6.0!”,如圖所示。解:程序界面設計和代碼分析見實例程序。PrivateSubForm_Click()Form1.Caption="運行程序修改屬性"'設置窗體標題

Label1.BackColor=&H80FFFF'設置標簽背景顏色

Label1.ForeColor=&HFF&'設置標簽顯示字體顏色

Label1.FontName="黑體"'設置標簽字體

Label1.FontSize=20'設置標簽字體大小

Label1.Alignment=2'設置顯示內容在標簽中的對齊

Label1.Caption="歡迎進入VB6.0!"'設置標簽顯示的內容EndSub第二章VisualBasic程序設計入門例

3、默認屬性每個控件對象都有很多屬性,VisualBasic系統把每個控件最關鍵或者最常用的屬性設定為控件的默認屬性,控件的默認屬性也叫控件值。在程序代碼中,若要修改控件的默認屬性,可以省略該屬性名。例如,文本框的默認屬性是Text,下面兩個語句是等價的。

表2-2-2列出了部分常用控件對象的默認屬性。(見教材)3、默認屬性表2-2-2列出了部分常用控件對象第二章VisualBasic程序設計入門2.3VisualBasic程序設計基本知識

程序設計的基礎是字符、詞匯、表達式、語句、過程、函數等語法單位。任何一種程序設計語言都有自己的語法規則。要想編寫出正確的程序,就必須嚴格遵守這些語法規則。2.3.1VisualBasic字符集與詞匯集字符是構成程序設計語言的最小語法單位。不同程序設計語言的基本字符集是大同小異的,它們都以ASCII字符集為基礎。

VisualBasic的基本字符集包括:數字、英文字母、特殊字符。

在VisualBasic程序中,還允許用漢字字符作為變量。第二章VisualBasic程序設計入門2.3V2.3.2VisualBasic代碼的書寫規范

1、大小寫字母的書寫:輸入程序代碼時不區分大小寫字母。

2、語句續行:空格+_(下劃線)

3、語句分隔標志符—冒號(:):若要將兩個或多個語句放在同一行,就必須使用語句分隔標志符冒號“:”將各語句分隔開來。這是一個“交換算法”2.3.2VisualBasic代碼的書寫規范第二章VisualBasic程序設計入門2.3.3基本語句

1、賦值語句賦值語句是程序中最基本的語句,也是為變量和控件屬性提供數據最主要的語句。一般格式:

[Let]<變量名>=<表達式>

或 [<對象名>.]<屬性名>=<表達式>

功能:將賦值號右邊表達式的值賦給左邊的變量或控件屬性。

注意教材中對每條語句的說明。

第二章VisualBasic程序設計入門2.3.3第二章VisualBasic程序設計入門2、注釋語句Rem

為了提高程序的可讀性,VB允許在程序中添加必要的注釋。注釋語句有兩種格式。格式1:

Rem<注釋內容>

格式2:

'注釋內容功能:為程序加上注釋內容,便于理解程序。3、暫停語句Stop

格式:

Stop

功能:暫停程序執行,主要用語程序調試。4、結束語句End

格式:

End

功能:結束程序運行。第二章VisualBasic程序設計入門2第二章VisualBasic程序設計入門2.4VB程序設計實例

2.4.1建立應用程序的基本步驟編寫VisualBasic應用程序的基本步驟如下:①設計用戶界面:建立用戶界面的窗體,界面設計要操作方便、美觀。②設置控件屬性:每個控件都有很多屬性,通常這些屬性都有默認值,若沒有重新設置,一般都采用默認值。③編寫程序代碼:打開代碼窗口為要完成的任務編寫程序。重要的是選擇正確的事件和適合的算法。

④保存文件:一個VB應用程序至少要對一個工程文件與一個窗體文件分別進行保存。注意文件的擴展名,這是最容易出錯的!!⑤調試程序代碼:,編寫的程序是否能正常工作?

第二章VisualBasic程序設計入門2.4V例2.4.1

程序的功能是:要求單擊“移動”按鈕,文字自動向右移動;單擊“停止”按鈕,文字停止運動;單擊“結束”按鈕,結束程序。第二章VisualBasic程序設計入門例2.4.1程序的功能是:要求單擊“移動”按鈕,文字自動向第二章VisualBasic程序設計入門

分析:1)設計用戶界面:按題目要求,云的背景可以在設計時加入,也可以在程序運行時加入。

2)設置控件屬性:Name、Caption等幾個重要的屬性。

3)編寫程序代碼:事件選擇:本題的事件一是按鈕控件的Click事件,二是自動定時處理需要用時鐘控件的Timer事件。本題算法的關鍵是文字自動向右移動的處理。(分析下面的程序段)

PrivateSubTimer1_Timer()Label1.Left=Label1.Left+100‘左邊界+100IfLabel1.Left>=Me.ScaleWidthThen‘左邊界超過窗體寬度

Label1.Left=0EndIfEndSub4)保存文件:注意文件路徑和擴展名。(容易出錯)

第二章VisualBasic程序設計入門第二章VisualBasic程序設計入門2.5工程的創建與管理

2.5.1工程的構成一個工程可能包括的文件類型如表2.5.1所示。第二章VisualBasic程序設計入門2.5工程第二章VisualBasic程序設計入門2.5.2工程管理

VisualBasic的工程管理包括工程的創建、打開、保存,或者在工程中添加、刪除、保存窗體、模塊文件等操作。1、文件菜單中的相關命令:(1)新建工程;(2)打開工程;(3)保存工程;(4)工程另存為與窗體另存為;(5)生成可執行文件。

2、工程菜單中的相關命令:(1)添加窗體(Form)或模塊(Module);(2)刪除窗體(Form)或模塊(Module)。

3、工程資源管理器:主要包括窗體文件(.frm)、工程文件(.vbp)、程序模塊文件(.bas)、類模塊文件(.cls)等的管理。

4、工程環境設置:(1)自動語法檢測;(2)要求聲明變量;(3)自動列出成員;(4)自動顯示快速信息;(5)缺省為整個模塊查詢。“工具”菜單“選項”菜單項第二章VisualBasic程序設計入門2.5.2第三章窗體與常用控件

3.1通用屬性

了解VB標準控件的構成原理、性質,掌握它們主要屬性、事件和方法,是學習VB程序設計的關鍵。

在VisualBasic中許多控件都有很多相同的屬性,我們將這部分屬性稱為通用屬性。下面介紹窗體或其它控件對象的一些常用的通用屬性。

1.Name名稱屬性功能:在程序代碼中用于標識對象的名稱。所有對象都有該屬性,在運行狀態不能改變,是只讀的。第三章窗體與常用控件3.1通用屬性了解V

2.Caption標題屬性功能:在對象的表面或標題欄上顯示的文本,在外觀上往往起提示和標志的作用。

注意:初學者容易將Name屬性和Caption屬性混淆!!!

3.Enabled有效性屬性功能:決定控件對象在運行期間的有效性。

4.Visible可見性屬性功能:設置窗體或控件對象運行時是否可見。2.Caption標題屬性3.Enabl第三章窗體與常用控件

5.Height、Width、Top和Left的大小和位置屬性功能:Top屬性決定對象的頂部距其直接容器頂部的距離;Left屬性決定對象的左邊框距其直接容器的距離;Height、Width屬性分別決定對象的高度和寬度,如圖所示。注意它的單位。

6.Font字體屬性功能:設置窗體或控件上顯示文本的字體、字形和大小等。

注意字體屬性的名稱,如FontName、FontSize、FontBold、FontItalic、FontUnderline等。第三章窗體與常用控件5.Height、Wi第三章窗體與常用控件

例3.1.1

Font屬性的設置舉例。在窗體上建立一個Label控件(名稱為Label1),單擊窗體,得到如圖的運行結果。分析:窗體單擊出現運行結果,因此事件驅動過程應選擇Form_Click()。

在窗體上添加一個Label控件,此例沒有改變任何屬性,所以默認名稱為Label1。程序代碼:PrivateSubForm_Click()'使Label1顯示為“VisualBasic6.0程序設計”

Label1.Caption="VisualBasic6.0程序設計"

Label1.FontName="隸書"'設置Label1的字體為“隸書”

Label1.FontSize=20'設置Label1的字體大小為20Label1.FontBold=True'設置Label1的字體為粗體

Label1.FontItalic=True'設置Label1的字體為斜體

Label1.FontUnderline=True'設置Label1的字體為下劃線EndSub第三章窗體與常用控件例3.1.1Font屬第三章窗體與常用控件

7.ForeColor、BackColor前景色和背景色屬性功能:ForeColor和BackColor屬性設置文本和圖形的前景色和背景色。

說明:RGB(r,g,b)是一個生成顏色的函數,參數r、g、b分別代表紅、綠、藍三種顏色分量,取值范圍為0到255,該函數常用于程序中設置顏色3.2窗體

窗體是VB中最基本的對象,是應用程序的基本組成部分,是包容用戶界面或對話框所需的各種控件對象的容器。在新建工程后,VB會產生一個空白窗體(默認的窗體名稱為Form1),并以此作為創建應用程序的起點。3.2.1窗體的屬性窗體除了具有通用屬性Name、Caption、Enabled、Visible、Height、Width、Top、Left、Font、ForeColor和BackColor外,還有自己獨特的屬性。第三章窗體與常用控件7.ForeColo第三章窗體與常用控件

1、MinButton、MaxButton屬性功能:MinButton屬性和MaxButton屬性分別決定窗體是否有最小化按鈕或最大化按鈕。

2、ControlBox屬性功能:確定窗體上是否顯示三個控制按鈕(最大化、最小化、關閉按鈕)和控制菜單,

3、BorderStyle屬性功能:確定窗體或控件的邊框類型,取值范圍為0到5。

4、Picture屬性功能:設置控件對象中顯示的圖形。默認值為空,表示控件對象中無圖形。

5、WindowState屬性功能:窗體開始運行時的初始顯示狀態。第三章窗體與常用控件1、MinButto第三章窗體與常用控件3.2.2、窗體事件

窗體事件是指窗體能夠響應的動作。最常用的有如下事件。

1、Click事件:單擊窗體,觸發Click事件。

2、DbClick事件:雙擊窗體,觸發DbClick事件。

注意:“雙擊”實際上觸發兩個事件:第一次點擊產生時產生Click事件,第二次點擊時產生DblClick事件。

3、Load事件:運行VB程序將窗體讀入內存(加載窗體),VB系統自動觸發Load事件,此時窗體為不活動窗體。Load事件一般用于在運行程序時對屬性和變量進行初始化。第三章窗體與常用控件3.2.2、窗體事件窗

例3.2.1

改變窗體屬性舉例。程序運行開始時,窗體中有一背景圖,每單擊窗體一次,窗體便縮小為當前窗體的2/3。初始界面及單擊窗體一次后的結果如圖所示。

注:打開程序進行分析事件和算法。

例3.2.1改變窗體屬性舉例。程序運行開始時,窗體第三章窗體與常用控件4.Unload事件關閉窗口時才發生。把窗體從內存中刪除(即卸載窗體)。

5.Activate事件發生在Load之后,窗體變為活動窗體,VB系統自動觸發Activate事件,此后才能響應用戶在界面上的交互操作。

6.Resize事件如果進行了改變窗體大小的操作,會觸發Resize事件。第三章窗體與常用控件4.Unload事件

例3.2.2

窗體事件的觸發舉例。程序代碼如下,當運行程序,單擊窗體,雙擊窗體后的結果如圖所示。注:打開程序進行分析。7.MouseDown、MouseUp和MouseMove(鼠標)事件

窗體及大多數控件都能夠識別的MouseMove、MouseDown和MouseUp事件,通過響應這些鼠標事件,能對鼠標位置及狀態的變化作出響應。例3.2.2窗體事件的觸發舉例。程序代碼如下,當運行第三章窗體與常用控件

鼠標事件格式

PrivateSub對象名_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)……EndSub參數分析

(1)Button參數表示按下或松開鼠標某個按鈕時,給出鼠標按鍵的狀態。見教材:表3.2.1。

(2)Shift參數表示在Button參數指定的按鈕被按下或者被松開的情況下,鍵盤的Shift、Ctrl和Alt鍵的狀態。見教材:表3.2.2。

(3)X,Y參數給出鼠標指針在窗體或控件中的當前位置。

例3.2.3

鼠標事件舉例。在窗體上,按下鼠標鍵,窗體的背景色變為綠色,并顯示“按下鼠標鍵,觸發MouseDown事件”;松開鼠標鍵,窗體的背景色變為紅色,并顯示“松開鼠標鍵,觸發MouseUp事件”。注:打開程序進行分析。第三章窗體與常用控件鼠標事件格式參數分析第三章窗體與常用控件8.鍵盤事件:KeyDown、KeyUp和KeyPress事件。注意:必須是具有焦點的控件才可能觸發鍵盤操作的事件。PrivateSub對象名_KeyDown(KeyCodeAsInteger,ShiftAsInteger)

……EndSubPrivateSub對象名_KeyPress(KeyAsciiAsInteger)

……EndSub注意KeyCode與KeyAscii的區別、擴展性說明。第三章窗體與常用控件8.鍵盤事件:KeyDown、

例3.2.4

KeyPress事件舉例。運行程序時,按下某個字符鍵,在窗體上顯示KeyAscii值和對應的按下的鍵名。運行程序,當在鍵盤上依次按下“A”、“y”、“7”和“<”鍵后的運行結果如圖所示。注:打開程序進行分析。例3.2.4KeyPress事件舉例。運行程第三章窗體與常用控件3.3.3窗體方法窗體可調用的方法很多,窗體方法的調用一般是放在程序代碼中。1、Print方法(重點之一,關鍵是輸出項的格式)格式:[對象名.]Print[輸出項]功能:將數據和文本輸出到對象中。PictureBox、Printer和Debug等控件也有

Print方法。Printer和Debug本書中不作介紹。

說明:

[對象名.]:包括窗體、PictureBox控件。注意Me也表示窗體。

[輸出項]:由一個或多個用“;”(分號)和“,”(逗號)隔開的表達式組成。用逗號分隔時,各輸出項占14個字符的位置(分區格式);用分號分隔時,各輸出項之間無空格(緊湊格式)。如果在Print后面沒有跟任何[輸出項],則表示換行。

擴展性說明:①對于數值型表達式,輸出的數值尾部自動加一個空格,頭部加一個符號位(正數為空格)。第三章窗體與常用控件3.3.3窗體方法窗體可調用第三章窗體與常用控件②如果Print方法輸出項的最后一個表達式有“;”和“,”,則下一個Print方法的輸出項按“;”和“,”的規則連續輸出。③Tab(n):將輸出內容定位于窗體的第n個位置輸出。(絕對定位)④Spc(n):在輸出內容之前輸入n個空格。(相對定位)

⑤Format(表達式,[,格式字符串]):使表達式的值按“格式字符串”指定的格式輸出。第三章窗體與常用控件②如果Print方法輸出第三章窗體與常用控件

例3.2.5

Print方法舉例。

打開例題對Print方法進行說明。具體說明見例題中的注釋語句,并結合表3.2.3的“格式字符串”。

2、Cls方法格式:[對象名.]Cls

功能:清除運行時在對象中用Print輸出的文本和用繪圖方法(在圖形操作中介紹)創建的圖形,同時將坐標移到原點(0,0)。

注意:Cls方法不能清除對象中的Caption、Picture等屬性值。對象的屬性值只能通過修改其屬性值來清除。3、Move方法格式:[對象名.]MoveLeft[,Top[,Width[,Height]]]

功能:移動窗體或控件。Move方法有四個參數,通過修改相應的參數,可以實現動畫。四個參數中,Left為必要參數,不能少;Top、Width、Height為可選參數,若缺省,系統采用默認值。第三章窗體與常用控件例3.2.5Prin第三章窗體與常用控件

例3.2.6

Move方法示例。在屏幕上移動窗體,程序運行時,每單擊窗體一次,窗體向下移動200Twip。分析:事件選擇窗體單擊Form_Click;下移Top坐標增加。

程序代碼'單擊窗體后,窗體才移動,故選擇Form_Click()PrivateSubForm_Click()

Form1.MoveForm1.Left,Form1.Top+200EndSub第三章窗體與常用控件例3.2.6Move3.3基本控件

控件是在圖形用戶界面上輸入信息、輸出信息、啟動事件過程等交互操作的圖形對象,是進行可視化程序設計的基礎和重要工具。1、控件的值控件的值就是控件的一個屬性,也稱控件默認屬性。一個控件只有一個屬性可作為該控件的值。作為控件的值的屬性在編寫程序代碼時可以省略,即可用控件名代替該屬性。表3.3.1列出了部分控件的值。3.3基本控件控件是在圖形用戶界面上輸入信第三章窗體與常用控件2、控件的容器功能所謂容器,就是可以在其上放置其它控件對象的一種對象。容器內的所有控件成為一個組合,隨容器一起移動、顯示、隱藏等。在VB的標準控件中只有三個對象或控件具有容器功能,它們是窗體、圖片框和框架。

標簽控件主要用于顯示文字說明信息及程序運行的某些結果等。

1、標簽的屬性標簽除了具有通用屬性Name、Caption、Enabled、Visible、Height、Width、Top、Left、Font、ForeColor和BackColor外,還有自己獨特的屬性。3.3.1標簽控件第三章窗體與常用控件2、控件的容器功能第三章窗體與常用控件

(1)Alignment屬性功能:確定標簽中顯示文本的對齊方式。該屬性值為0,表示左對齊(默認值);為1,表示右對齊;為2,表示居中對齊。(2)BackStyle屬性功能:設置標簽背景是否透明。該屬性值為0,表示透明,標簽后的背景和圖形可見;為1,表示不透明,標簽后的背景和圖形不可見。(3)BorderStyle屬性功能:設置有無邊框。 該屬性值為0,表示無邊框(默認值);為1,表示有邊框。(4)Autosize屬性功能:確定標簽是否會隨標題內容自動改變大小(即調節水平方向的長度),以正好顯示全部內容。該屬性值為True,表示能自動調節且不換行;為False,表示不能自動調節(默認值),超出尺寸范圍的內容不予顯示。(5)Wordwrap屬性功能:決定是否能自動調節垂直方向的高度,以正好顯示全部內容。第三章窗體與常用控件(1)Alignment第三章窗體與常用控件2、標簽的事件標簽可以響應許多事件,如常用的Click、DblClick等,用法與窗體的Click、DblClick事件類似,但很少用。

3、標簽的方法標簽擁有Move方法,用法與Form的Move方法相同。文本框主要用于在窗體中顯示和接收文本信息,也就是輸入輸出功能。1、文本框的屬性除具有通用屬性Name、Enabled、Visible、Height、Width、Top、Left、Font、ForeColor和BackColor外,還有自己獨特的屬性。

(1)Text屬性:在文本框中顯示的文本內容。(2)PassWordChar屬性:設置文本內容的顯示形式,用于設置密碼。(3)MultiLine屬性:決定是否能接收和顯示多行文本。(4)MaxLength屬性:文本框中可接收和顯示字符的最大長度。(5)ScrollBars屬性:確定文本框是否具有滾動條,只有當MultiLine為True時,該屬性才有效。3.3.2文本框控件第三章窗體與常用控件2、標簽的事件文本框主要第三章窗體與常用控件

(6)Locked屬性:設置是否鎖定文本框中的內容。(7)SelStart、SelLength和SelText屬性:分別設置或返回文本框中選定文本的起始位置、長度和文本內容。2、文本框的事件除了能響應事件Click、DblClick外,還可響應其他事件。

(1)Change事件:當Text屬性發生變化時,觸發Change事件。

(2)GetFocus事件:當對象獲得焦點時,觸發GetFocus事件。

(3)LostFocus事件:當對象失去焦點時,觸發LostFocu事件。

注:簡單地說焦點Focus就是光標,更詳細的概念稍后講。

例3.3.1

文本框輸入數據舉例。從文本框Text1中輸入半徑的值,單擊窗體,計算圓的周長、圓的面積、球體的體積,并顯示在標簽框中;如單擊文本框Text1,輸入另外的半徑值,則先清除原來的信息,再輸入。

注:打開程序進行分析。第三章窗體與常用控件(6)Locked屬性:第三章窗體與常用控件

例3.3.2文本框中選定文本舉例。在文本框Text1中用鼠標選擇一段文字,選擇之后,便立即在Text2中輸出。同時在Text3中顯示起始位置,在Text4中顯示選擇字符的長度。

程序代碼分析:

PrivateSubText1_Click()P=Text1.SelStart'鼠標操作決定SelStart和SelLength,進而決定SelTextL=Text1.SelLengthText2.Text=Text1.SelText'在Text2中顯示被選定的文本

Text3.Text=P'在Text3中顯示被選定的文本起始位置

Text4.Text=L'在Text2中顯示被選定的文本的長度

EndSub第三章窗體與常用控件例3.3.2文本框中選第三章窗體與常用控件3、文本框的方法文本框能使用的方法不多,其中常用的是SetFocus。SetFocus方法的作用是把焦點移到指定的對象上,使之獲得焦點。3.3.3焦點焦點Focus是控件響應用戶用鼠標或鍵盤輸入的能力。當控件具有焦點時,可接收用戶的輸入。在一個窗體中,若有多個可以獲得焦點的控件,如文本框TextBox,在程序運行時,只有字符輸入光標所在的文本框具有焦點。只有具有焦點的控件才能接收用戶從鍵盤輸入的文本。1)焦點事件

(1)GotFocus事件:當控件獲得焦點時觸發GotFocus事件。格式:PrivateSub對象名_GotFocus()

……EndSub

(2)LostFocus事件:當控件失去焦點時,觸發LostFocus事件。格式:

PrivateSub對象名_LostFocus()

……EndSub

第三章窗體與常用控件3、文本框的方法3.3.第三章窗體與常用控件(3)SetFocus方法功能:設置某個控件獲得焦點。格式:<對象名.>SetFocus2、TabIndex屬性功能:設置或返回在容器中對象響應Tab鍵的順序。改變TabIndex屬性的值,就可改變焦點。也就是按“Tab”鍵時焦點移動的順序。

例3.3.3

焦點設置舉例。在兩個文本框Text1和Text2中,輸入數據,單擊顯示結果的標簽Label1,就會進行運算并顯示,程序運行的結果如圖。

要求:當改變任意一個文本框的內容時,就清除運算結果,再次單擊顯示結果的標簽框,才會進行運算并顯示;當在某一個文本框輸入數據時,如果按回車鍵,輸入光標就自動移到另一個文本框中。第三章窗體與常用控件(3)SetFocus方法第三章窗體與常用控件程序分析:‘計算功能:

PrivateSubLabel1_Click()'單擊標簽Label1,觸發該事件

Label1=Val(Text1)+Val(Text2)'計算并顯示結果

EndSub

’清除功能:

PrivateSubText1_Change()'Text1中輸入的數據發生改變,觸發該事件

Label1=""'清除計算結果

EndSub

‘焦點設置功能:

PrivateSubText1_KeyPress(KeyAsciiAsInteger)If

KeyAscii=13Then'判斷是否按了回車鍵

Text2.SetFocus'將另一個文本框設為焦點

EndIfEndSub第三章窗體與常用控件程序分析:第三章窗體與常用控件

命令按鈕是以按鈕的形式出現在窗體上,用鼠標單擊命令按鈕,會觸發該命令按鈕的Click事件,進而執行Click事件過程中的代碼。1、屬性命令按鈕除具有通用屬性Name、Caption、Enabled、Visible、Height、Width、Top、Left、Font、ForeColor和BackColor外,還有自己獨特的屬性。(1)Style屬性:設置控件的外觀是標準的文本樣式,還是圖形樣式。

(2)Picture屬性:設置在命令按鈕表面顯示的圖形。

(3)DownPicture屬性:當按下鼠標鍵時,命令按鈕表面顯示的圖形。

(4)DisabledPicture屬性:當命令按鈕暫不起作用時,命令按鈕顯示的圖形。當Style為1,并且Enabled為False時,該屬性才起作用。

(5)Cancel屬性:設置的取消按鈕。

(6)Defualt屬性:設置默認的確定按鈕。3.3.4命令按鈕控件第三章窗體與常用控件1、屬性(1)S第三章窗體與常用控件2、事件命令按鈕控件的最主要、最常用的事件是Click事件。在程序運行時,以下情況可以觸發命令按鈕的Click事件:①用鼠標單擊命令按鈕。②按Tab鍵或調用SetFoucs方法,將焦點移到命令按鈕上,然后按Enter鍵。③按Alt+帶有下劃線的字母鍵。④當命令按鈕的Default屬性為True時,按Enter鍵。圖3.3.4標簽、文本框和命令按鈕舉例⑤當命令按鈕的Cancel屬性為True時,按Esc鍵。第三章窗體與常用控件2、事件第三章窗體與常用控件

例3.3.4標簽、文本框和命令按鈕舉例。在文本框Text1和Text2中,分別輸入用戶名和密碼,選擇“登錄”按鈕,判斷用戶名和密碼正確性,并顯示相應的登錄信息。若正確,在標簽Label3顯示正確的登錄信息,否則顯示不正確信息,并自動選定用戶名文本框的內容;重新輸入用戶名,將自動清除密碼框和登錄信息顯示框中的內容。輸入不正確的運行結果見上圖。要求:輸入用戶名和密碼以回車鍵結束,同時將焦點向下移動。

分析:本例中解決問題的關鍵在于選擇正確的事件過程。①啟動程序后,將光標移到用戶名輸入框,選擇由VB系統自動觸發的Form_Activate。②選擇“登錄”按鈕,判斷用戶名和密碼正確性,選擇Command1_Click()事件。③輸入用戶名和密碼以回車鍵結束,同時將焦點向下移動,選擇Text1_KeyPress和Text2_KeyPress,在其中通過KeyAscii參數來判斷是否輸入回車鍵。④重新輸入用戶名,將自動清除密碼框和登錄信息顯示框中的內容,利用文本框的Change事件來觸發,選擇Text1_Change()。第三章窗體與常用控件例3.3.4標簽、文本第三章窗體與常用控件程序代碼分析:PrivateSubForm_Activate()Text1.SetFocus'啟動程序后,將光標移到用戶名輸入框

Text2.PasswordChar="@"'設置密碼框的顯示方式EndSubPrivateSubCommand1_Click()IfText1="Microsoft"AndText2="24681357"Then'判斷正確性

Label3=“歡迎”

&Text1&“登錄!”

'正確時顯示的信息

ElseLabel3=“用戶名或密碼錯!請重新輸入”

'錯誤時顯示的信息

Text1.SetFocus'移到焦點用戶名輸入框,為重新輸入做準備

‘下兩行完成文本框內容的選定,為重新輸入做準備,為什么?

Text1.SelStart=0Text1.SelLength=Len(Text1)'Len()函數的值為Text1內容的長度

Text2=""'清除密碼框中的內容

EndIfEndSub第三章窗體與常用控件程序代碼分析:第三章窗體與常用控件PrivateSubText1_KeyPress(KeyAsciiAsInteger)IfKeyAscii=13Then'判斷是否輸入回車鍵(它的Ascii碼為13)Text2.SetFocus'移動焦點到密碼框

‘下兩行完成文本框內容的選定,為輸入做準備,有作用嗎?

Text2.SelStart=0Text2.SelLength=Len(Text2)EndIfEndSubPrivateSubText2_KeyPress(KeyAsciiAsInteger)IfKeyAscii=13ThenCommand1.SetFocus

'密碼框中輸入回車鍵后,移動焦點到登錄按鈕EndSubPrivateSubText1_Change()Label3=""'清除信息顯示框中的內容EndSub注意:命令按鈕沒有DblClick事件。第三章窗體與常用控件PrivateSubText第三章窗體與常用控件1)復選框和單選按鈕屬性它們除了具有通用屬性Name、Caption、Enabled、Visible、Height、Width、Top、Left、Font、ForeColor和BackColor外,還有自己獨特的屬性。3.3.5單選按鈕與復選框控件復選框和單選按鈕是應用程序的用戶界面上常用的兩類控件。這兩類控件單個使用通常是沒有意義的,實際應用中總是成組出現。(1)Value屬性:設置或返回選擇的狀態。復選框和單選按鈕的默認屬性均為Value。注意復選框和單選按鈕的值是有區別的。

復選框:Value=0,表示未被選定;Value=1,表示被選定,被選中項目左側小方框中會出現顯示√;Value=2,變為灰色,表示禁止用戶選擇。單選按鈕Value=True,表示被選定,圓圈中會出現一黑點;Value=False,表示未被選定。

(2)Style屬性:設置控件的外觀是標準的文本樣式,還是圖形樣式。2)復選框和單選按鈕事件單選按鈕和復選框的最常用事件是Click事件。第三章窗體與常用控件1)復選框和單選按鈕屬性第三章窗體與常用控件程序代碼分析(只分析除法,其它用法相同)PrivateSubOption4_Click()'除運算

A=Val(Text1.Text)B=Val(Text2.Text)IfB<>0Then'判斷"操作數2"是否為0Text3.Text=A/BElseText3.Text="輸入操作數錯"EndIfEndSub

例3.3.5單選按鈕應用示例。用戶界面如圖所示。用戶在“運算數1”和“運算數2”所對應的文本框中輸入運算數,然后單擊運算符的單選按鈕,就能在“運算結果”所對應的文本框中輸出運算結果。第三章窗體與常用控件程序代碼分析(只分析除法,其它用第三章窗體與常用控件3.3.6框架控件框架為控件提供可標識的分組,用于窗體上的對象分組。可把不同的對象放在一個框架中,使其在視覺上進行區分,總體上被激活或被屏蔽。框架具有容器功能。1)框架的屬性框架主要具有Name、Caption、Enabled、Visible、Height、Width、Top、Left、Font、ForeColor和BackColor等通用屬性。

2)框架的事件框架的事件不常用,它擁有Click、DblClick等事件。

例3.3.6框架、復選框和單選按鈕舉例。程序運行后,分別單擊字體、字型,就會使標簽中的文字按規定的效果顯示,如圖所示。第三章窗體與常用控件3.3.6框架控件1)第三章窗體與常用控件程序代碼分析(復選框和單選按鈕各分析一個)

PrivateSubOption1_Click()'單擊“宋體”單選按鈕,觸發該事件

Label1.FontName="宋體"'設置標簽Label1的字體為:宋體

EndSubPrivateSubCheck1_Click()'單擊“粗體”復選框,觸發該事件

IfCheck1.Value=1ThenLabel1.FontBold=TrueElseLabel1.FontBold=FalseEndIfEndSub第三章窗體與常用控件程序代碼分析(復選框和單選按鈕各第三章窗體與常用控件3.3.7圖片框與圖像框控件圖片框和圖像框都具有顯示圖形圖像的功能,可以加載到這兩個控件上的圖形文件有:位圖文件(.bmp)、圖標文件(.ico)、JPEG文件、GIF文件等。1、圖片框和圖像框的屬性

(1)Picture屬性:功能:設置在控件內顯示的圖像,默認屬性。

(2)AutoSize屬性(PictureBox):決定圖片框控件是否自動調整以適應圖片的大小(圖片不變)。

(3)Stretch屬性(Image):決定圖片是否自動調整以適應圖像控件的大小(可能會導致圖片變形)。

例3.3.7圖片框應用舉例。單擊“裝入圖形(L)”按鈕,則將一圖形調入窗體中;單擊“交換圖片(E)”按鈕,則兩圖片進行交換;單擊“結束(Q)”按鈕,則關閉窗體,結束程序的運行。用戶界面如圖3.3.7所示。第三章窗體與常用控件3.3.7圖片框與圖像第三章窗體與常用控件程序代碼分析:PrivateSubCommand1_Click()'裝入圖形

Picture1=LoadPicture("D:\VB\圖3.3.7A.bmp")Picture2=LoadPicture("D:\VB\圖3.3.7B.bmp")EndSubPrivateSubCommand2_Click()'交換圖形

Picture3=Picture1’典型的交換算法

Picture1=Picture2Picture2=Picture3EndSubPrivateSubCommand3_Click()'結束

EndEndSub

注意;LoadPicture(“D:\VB\圖3.3.7A.bmp”)中的路徑,要看你的圖片在什么位置?第三章窗體與常用控件程序代碼分析:注意;Lo第三章窗體與常用控件2、圖片框和圖像框的事件圖片框常用的事件有Click、DblClick、Change、鼠標事件和鍵盤事件,圖片框的方法與窗體幾乎相同,而圖像框沒有Change和鍵盤事件。

3)圖片

溫馨提示

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

評論

0/150

提交評論