完整詳細(xì)全面的VB教學(xué)課件_第1頁(yè)
完整詳細(xì)全面的VB教學(xué)課件_第2頁(yè)
完整詳細(xì)全面的VB教學(xué)課件_第3頁(yè)
完整詳細(xì)全面的VB教學(xué)課件_第4頁(yè)
完整詳細(xì)全面的VB教學(xué)課件_第5頁(yè)
已閱讀5頁(yè),還剩391頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、Visual Basic 程序設(shè)計(jì)教程(Visual Basic 6.0)一、為什么要學(xué)本課程 ? 全國(guó)計(jì)算機(jī)等級(jí)考試(二級(jí))中,計(jì)算機(jī)程序設(shè)計(jì)是必修課程。Windows程序設(shè)計(jì)的語(yǔ)言有如下幾種:傳統(tǒng)的CC+語(yǔ)言:面向過程,學(xué)習(xí)難度大。Visual C+:面向?qū)ο?,學(xué)習(xí)難度大。Visual FoxPro:面向?qū)ο蠛蛿?shù)據(jù)庫(kù),已停止發(fā)展。Visual BASIC:面向?qū)ο?,功能?qiáng)大,比較簡(jiǎn)單,適合于作為第一門計(jì)算機(jī)課程。學(xué)了VB可以干什么?VB可以實(shí)現(xiàn):開發(fā)各種應(yīng)用程序。如“考試系統(tǒng)”。數(shù)據(jù)庫(kù)管理。如“財(cái)務(wù)管理、成績(jī)管理”等。開發(fā)動(dòng)態(tài)交互網(wǎng)站。如“電子商務(wù)、網(wǎng)上查詢”等。(用VBScript腳本語(yǔ)

2、言,是VB的子集)二、考試要求國(guó)家二級(jí)考試:本學(xué)期末可以開始報(bào)考。分科:筆試機(jī)試,單科成績(jī)一年內(nèi)有效??紙?chǎng):本??紙?chǎng)??荚嚂r(shí)間:每年4月、月,提前個(gè)月報(bào)名,必須以班為單位集體報(bào)名??荚囐M(fèi):130元??荚噧?nèi)容:參看模擬考試軟件和考試大綱。省二級(jí)考試:參看考試大綱三、學(xué)習(xí)要求上課:認(rèn)真聽講,適當(dāng)做筆記,不要什么都記。下課:多上機(jī)練習(xí)、多背程序、多做題。上機(jī)實(shí)驗(yàn):要求提前寫好程序時(shí),希望盡量做到。最大目的:鍛煉邏輯思維,培養(yǎng)創(chuàng)造性,學(xué)會(huì)發(fā)現(xiàn)問題、思考問題、分析問題、解決問題的方法。(掌握算法)第一章 概述 第二章 Visual Basic程序設(shè)計(jì)入門 第三章 窗體與常用控件 第四章 程序設(shè)計(jì)基礎(chǔ)第五

3、章 程序控制結(jié)構(gòu) 第六章 數(shù)組第七章 過程 第八章 文件第九章 圖形操作第十章 界面設(shè)計(jì)第十二章 程序調(diào)試及錯(cuò)誤處理 第十一章 Visual Basic數(shù)據(jù)庫(kù)編程 Visual Basic 程序設(shè)計(jì)教程第一章 概述1.1 Visual Basic的發(fā)展和特點(diǎn) 1.1.1 Visual Basic的發(fā)展 Visual Basic是一種可視化的、面向?qū)ο蠛筒捎檬录?qū)動(dòng)方式的高級(jí)程序設(shè)計(jì)語(yǔ)言,可用于開發(fā)Windows環(huán)境下的各類應(yīng)用程序。 Visual Basic由Microsoft公司于1991年推出,它的誕生標(biāo)志著軟件設(shè)計(jì)和開發(fā)開始了一個(gè)新的時(shí)代。自1991年至今,Microsoft公司先后發(fā)布

4、了1.0-7.0等幾個(gè)升級(jí)版本,使得功能更加強(qiáng)大、完善。 目前比較常用的版本是Visual Basic 6.0、Visual Basic.NET等。 Visual Basic 6.0包含學(xué)習(xí)版、專業(yè)版和企業(yè)版。1.1.2 Visual Basic的特點(diǎn) Visual Basic是目前所有開發(fā)語(yǔ)言中最簡(jiǎn)單、最容易使用的語(yǔ)言。作為程序設(shè)計(jì)語(yǔ)言,Visual Basic主要有以下特點(diǎn)。 1可視化編程。 2面向?qū)ο蟮某绦蛟O(shè)計(jì) 。 3結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言 。 第一章 概述 4事件驅(qū)動(dòng)編程機(jī)制 。 5強(qiáng)大的數(shù)據(jù)庫(kù)訪問能力 。 6對(duì)象的鏈接與嵌入(OLE,Object Linking And Embeddin

5、g ) 。 7高度的可擴(kuò)充性 。 8支持動(dòng)態(tài)數(shù)據(jù)交換。 1.2 Visual Basic 6.0的啟動(dòng)和退出 1Visual Basic 6.0的啟動(dòng) 2Visual Basic 6.0的退出 結(jié)合Visual Basic 6.0 的開發(fā)環(huán)境介紹Visual Basic 6.0 多種啟動(dòng)方法和退出方式。1.3 Visual Basic 6.0集成開發(fā)環(huán)境 第一章 概述 Visual Basic6.0集成開發(fā)環(huán)境(IDE,Integrated Development Environment )是提供設(shè)計(jì)、運(yùn)行和測(cè)試應(yīng)用程序所需的各種工具的一個(gè)工作環(huán)境。這些工具互相協(xié)調(diào)、互相補(bǔ)充,大大減少了應(yīng)用程

6、序的開發(fā)難度。 Visual Basic 6.0啟動(dòng)后,出現(xiàn)如圖的對(duì)話框, 選擇“標(biāo)準(zhǔn)EXE”,再單擊“打開”, 即可進(jìn)入Visual Basic 6.0集成開發(fā)環(huán)境,如下圖所示。 第一章 概述屬性窗口 工具箱窗口 布局窗口代碼窗口 工程資源管理器窗口工具欄菜單欄標(biāo)題欄窗體設(shè)計(jì)窗口 第一章 概述 1.4 Visual Basic 6.0的幫助系統(tǒng) 1.4.1 使用MSDN Library Microsoft Visual Studio 中的MSDN Library,包含Visual Basic 6.0幫助信息的全面幫助系統(tǒng),包括示例代碼、文檔、技術(shù)文章、Microsoft 開發(fā)人員知識(shí)庫(kù)、以及

7、在使用 Microsoft 公司的技術(shù)來開發(fā)解決方案時(shí)所需要的其他資料。 1.4.2 使用上下文相關(guān)的幫助 Visual Basic 6.0提供了F1功能鍵上下文相關(guān)幫助。上下文相關(guān)幫助是指用戶在窗口中進(jìn)行工作的任何時(shí)候,按鍵盤上的F1鍵,即可獲得正在操作對(duì)象的幫助內(nèi)容。 1.4.3 從Internet上獲得幫助 在Internet上有大量的介紹Visual Basic 6.0程序設(shè)計(jì)技巧、經(jīng)驗(yàn)的站點(diǎn),許多站點(diǎn)上還有例子及源程序下載。第二章 Visual Basic程序設(shè)計(jì)入門 2.1 Visual Basic編程的基本概念 學(xué)習(xí)計(jì)算機(jī)程序設(shè)計(jì)課程的目的,就是學(xué)會(huì)怎樣與計(jì)算機(jī)交流,將人解決問題

8、的思路、方法、手段以某種計(jì)算機(jī)能理解的方式告訴計(jì)算機(jī),讓計(jì)算機(jī)根據(jù)人的指令去完成某項(xiàng)特定的工作。 2.1.1 程序語(yǔ)言與程序設(shè)計(jì) 1、程序設(shè)計(jì)語(yǔ)言 人類進(jìn)行交流的語(yǔ)言由語(yǔ)音、詞匯和語(yǔ)法構(gòu)成一定系統(tǒng);而人與計(jì)算機(jī)則是通過程序設(shè)計(jì)語(yǔ)言進(jìn)行交流的。程序設(shè)計(jì)語(yǔ)言由字、詞和語(yǔ)法規(guī)則構(gòu)成指令系統(tǒng)。計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言有多種,可用不同的程序設(shè)計(jì)語(yǔ)言編寫不同的程序來解決同一個(gè)問題。 從計(jì)算機(jī)發(fā)明至今,隨著計(jì)算機(jī)硬件技術(shù)和軟件技術(shù)的發(fā)展,計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言經(jīng)歷了機(jī)器語(yǔ)言、匯編語(yǔ)言、高級(jí)語(yǔ)言幾個(gè)階段。 從機(jī)器的角度看,程序設(shè)計(jì)語(yǔ)言可以分為低級(jí)語(yǔ)言和高級(jí)語(yǔ)言兩大類。第二章 Visual Basic程序設(shè)計(jì)入門 低級(jí)語(yǔ)

9、言是面向機(jī)器的指令系統(tǒng),又分為機(jī)器語(yǔ)言和匯編語(yǔ)言。 高級(jí)語(yǔ)言是接近人類習(xí)慣和語(yǔ)言描述方式的指令系統(tǒng)。高級(jí)語(yǔ)言不依賴于機(jī)器,構(gòu)成簡(jiǎn)單,移植性好,便于記憶、學(xué)習(xí)和維護(hù)。人們常說的“程序設(shè)計(jì)語(yǔ)言”就是指高級(jí)語(yǔ)言。高級(jí)語(yǔ)言又分為面向過程的程序設(shè)計(jì)語(yǔ)言和面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言。 2程序設(shè)計(jì) 計(jì)算機(jī)程序是用某種程序設(shè)計(jì)語(yǔ)言編寫一組指示計(jì)算機(jī)每一步動(dòng)作的指令,運(yùn)行于某種目標(biāo)體系結(jié)構(gòu)上。 計(jì)算機(jī)解決問題的方法和步驟,稱為“計(jì)算機(jī)算法”,簡(jiǎn)稱“算法”。算法是我們學(xué)習(xí)的重點(diǎn)內(nèi)容之一,需要我們?cè)趯W(xué)習(xí)中逐步積累。 程序設(shè)計(jì)主要有兩個(gè)方面的任務(wù):首先是擬定算法,即將需要計(jì)算機(jī)處理的實(shí)際問題抽象為數(shù)學(xué)模型,并設(shè)計(jì)出解決問

10、題所需的方法和步驟;然后是編制程序,即用合適的程序設(shè)計(jì)語(yǔ)言對(duì)設(shè)計(jì)的算法進(jìn)行編碼。第二章 Visual Basic程序設(shè)計(jì)入門 Visual Basic是采用事件驅(qū)動(dòng)編程機(jī)制的可視化程序設(shè)計(jì)語(yǔ)言??梢暬绦蛟O(shè)計(jì)利用系統(tǒng)所提供的可視“控件類”來創(chuàng)建“對(duì)象”,不需編寫大量代碼去描述界面元素的外觀和位置,即可完成界面的設(shè)計(jì)工作,從而使界面設(shè)計(jì)更為輕松、簡(jiǎn)捷、方便和靈活。 2.1.2 面向?qū)ο蟪绦蛟O(shè)計(jì) 1對(duì)象與類 對(duì)象:是具有某些特征的具體事物的實(shí)體;類:是同種對(duì)象的集合與抽象,它包含這種對(duì)象的屬性描述和行為定義。 具體的講,在 VB中,工具箱中的控件就是類,設(shè)計(jì)窗體時(shí),將它(們)放在窗體上時(shí),就是對(duì)象

11、。 面向?qū)ο蟪绦蛟O(shè)計(jì)方法,是將數(shù)據(jù)與程序封裝成一個(gè)互相依存、不可分割的整體,這個(gè)整體被稱為“對(duì)象”,每個(gè)對(duì)象都是可視的。在VB系統(tǒng)中,對(duì)象的特性、名稱、大小、形狀、顏色及功能被稱為屬性。 第二章 Visual Basic程序設(shè)計(jì)入門 VB中的“類”是同種對(duì)象的集合與抽象,是創(chuàng)建對(duì)象的模板。 對(duì)象類第二章 Visual Basic程序設(shè)計(jì)入門 2對(duì)象的屬性、事件和方法 對(duì)象的屬性、事件和方法是對(duì)象的三要素(學(xué)習(xí)重點(diǎn))。 屬性:是描述和反映對(duì)象特征的參數(shù)。例如,對(duì)象的標(biāo)題、顏色、位置、大小等屬性決定了對(duì)象展示出的界面具有什么樣的外觀及功能。 對(duì)屬性不了解,就不可能設(shè)計(jì)出好的程序 。 屬性的表示:

12、對(duì)象名屬性 兩種屬性設(shè)置方法: (1)在設(shè)計(jì)階段設(shè)置(在屬性窗口); (2)在程序運(yùn)行中設(shè)置,即在程序代碼中賦值。 對(duì)象名屬性=屬性值 這里的“=”號(hào)為賦值號(hào) 事件:對(duì)象所受到的外部行為,也就是發(fā)生在對(duì)象上的動(dòng)作;該對(duì)象上發(fā)生了事件,如果有響應(yīng),這就是事件過程。格式如下: Private Sub 對(duì)象名_事件(參數(shù)表) End sub 第二章 Visual Basic程序設(shè)計(jì)入門 方法:對(duì)象能完成的動(dòng)作。 方法的動(dòng)作是事先為程序設(shè)計(jì)人員提供的一種特殊的過程和函數(shù)。 (是不可見的程序代碼) 對(duì)象方法的調(diào)用格式: 對(duì)象方法(參數(shù)表) 例2.1.1 Move方法的調(diào)用示例。在窗體上創(chuàng)建了一個(gè)文本框?qū)?/p>

13、象Text1,用鼠標(biāo)單擊窗體時(shí),將文本框移到坐標(biāo)為(200,100)的位置上。采用Move方法來實(shí)現(xiàn),其事件過程為: Private Sub Form_Click() 窗體單擊事件 Text1.Move 200,100 調(diào)用Move方法 End Sub 例2.1.2 Print方法的調(diào)用示例。用鼠標(biāo)單擊命令按鈕時(shí),在窗體上顯示“歡迎進(jìn)入VB6.0 !”。事件過程為: Private Sub Command1_Click() 命令按鈕單擊事件 Form1.Print “歡迎進(jìn)入VB6.0 !” 調(diào)用Print 方法 End Sub 注意省略對(duì)象時(shí)的含義(指窗體)第二章 Visual Basic程

14、序設(shè)計(jì)入門 2.1.3 可視化程序設(shè)計(jì)基礎(chǔ) 1窗體模塊 窗體是Visual Basic程序設(shè)計(jì)的基礎(chǔ),是最常見的對(duì)象。窗體也是容器,各種控件對(duì)象都建立在窗體上。用戶通過窗體和窗體上的控件向應(yīng)用程序提供數(shù)據(jù)和控制命令,并通過窗體和窗體上的控件獲得程序執(zhí)行結(jié)果。 VB應(yīng)用程序一般至少包含一個(gè)窗體,有的含有多個(gè)窗體,一個(gè)窗體對(duì)應(yīng)工程管理器中一個(gè)窗體模塊。 2其他用戶界面元素 窗體及其控件、菜單欄、工具欄和狀態(tài)欄是用戶界面的基本元素。新建的窗體并不包含控件、菜單欄、工具欄和狀態(tài)欄,只是在必要時(shí)根據(jù)應(yīng)用程序的需要,由程序員自行設(shè)計(jì)。 可視化程序設(shè)計(jì)的特點(diǎn)是:引入了控件的概念和事件驅(qū)動(dòng),程序開發(fā)過程一般遵

15、循先設(shè)計(jì)界面,再基于事件編寫程序代碼。第二章 Visual Basic程序設(shè)計(jì)入門 2.1.4 事件驅(qū)動(dòng) 1控件對(duì)象的事件 Visual Basic系統(tǒng)為每個(gè)控件都設(shè)置了若干事件(如Click、DblClick、 Load等) 。多數(shù)事件都是由用戶驅(qū)動(dòng),有的事件是由系統(tǒng)來驅(qū)動(dòng)(如Load事件)。 在VB的代碼窗口中,有對(duì)象列表框和事件列表框。只要是在用戶界面設(shè)計(jì)時(shí)創(chuàng)建的控件對(duì)象,系統(tǒng)都會(huì)將其控件名添加到對(duì)象列表框中。若是選中對(duì)象列表框中的一個(gè)對(duì)象,在事件列表框中就會(huì)列出該對(duì)象的所有事件以供選擇。 第二章 Visual Basic程序設(shè)計(jì)入門 2事件過程 事件過程是一段告訴計(jì)算機(jī)應(yīng)該執(zhí)行什么操作

16、的程序代碼。每個(gè)事件均能驅(qū)動(dòng)相應(yīng)的事件過程,事件過程代碼需要用戶自己來編寫。Visual Basic程序的主體通常是由若干個(gè)事件過程組成的。 事件過程的執(zhí)行是由用戶或系統(tǒng)的動(dòng)作驅(qū)動(dòng)。例如,單擊鼠標(biāo)按鈕,觸發(fā)按鈕的Click事件,則對(duì)應(yīng)該事件過程中的代碼就會(huì)被執(zhí)行。 事件過程的一般格式是: Private Sub 對(duì)象名_事件(參數(shù)表) 事件過程的過程頭 事件過程的程序代碼 End sub 事件過程的過程尾 3. 事件驅(qū)動(dòng)機(jī)制 面向?qū)ο蟮某绦蛟O(shè)計(jì)中,每個(gè)對(duì)象都能響應(yīng)多個(gè)不同的事件,每個(gè)事件均能驅(qū)動(dòng)一段能完成某項(xiàng)功能的程序代碼。 程序代碼的執(zhí)行順序,基本上取決于事件發(fā)生的順序。第二章 Visual

17、 Basic程序設(shè)計(jì)入門 例 2.1.3 事件驅(qū)動(dòng)實(shí)例。窗體界面如圖2.1.4所示,運(yùn)行程序后,用鼠標(biāo)單擊、中的任何一個(gè)按鈕,紅色小球就會(huì)做出相應(yīng)的運(yùn)動(dòng)。如果鼠標(biāo)單擊按鈕,紅色小球向下移動(dòng)一次,而其它方向不動(dòng);若鼠標(biāo)單擊按鈕,紅色小球向左移動(dòng)一次,而其它方向不動(dòng)。 解:界面設(shè)置:在窗體上用Shape控件類生成1個(gè)小球,用CommandButton類創(chuàng)建4個(gè)命令按鈕。 屬性設(shè)置:將控件對(duì)象Shape1的Shape屬性為Circle,FillColor屬性設(shè)置為紅色,F(xiàn)illstyle屬性設(shè)置為0-Solid;將4個(gè)命令按鈕的Caption屬性分別設(shè)置為、(軟鍵盤輸入)。 分析:本程序不改變Sha

18、pe控件的大小,由Shape控件的Left屬性表示沿水平方向的移動(dòng),變量mx表示位移的增量,+mx為向右移動(dòng),-mx為向左移動(dòng);用Shape控件的Top屬性表示沿垂直方向的移動(dòng),+my為向下移動(dòng),-my為向上移動(dòng)。(程序代碼分析請(qǐng)打開例2.1.3 )第二章 Visual Basic程序設(shè)計(jì)入門 2.2 控件對(duì)象 控件是Visual Basic應(yīng)用程序界面設(shè)計(jì)的主要部件。Visual Basic 6.0提供了大量的控件??丶牟僮髦饕丶?duì)象的建立、控件的屬性設(shè)置和控件事件過程代碼編制。 2.2.1 常用的控件類型: VB中的控件通常分為3種類型: 1、標(biāo)準(zhǔn)控件(也稱為內(nèi)部控件):VB啟動(dòng)后

19、,標(biāo)準(zhǔn)控件就以圖標(biāo)的形式出現(xiàn)在工具箱中,不能刪除。 2、 ActiveX控件:這類控件不在工具箱中,而是以.ocx類型文件形式存在。需要時(shí),ActiveX控件可以添加到工具箱中,也可以從工具箱中移除。 3、可插入對(duì)象:用戶可將Word文檔、Excel工作表、PowerPoint幻燈片等作為一個(gè)控件對(duì)象類添加到工具箱中,編程時(shí)根據(jù)需要再創(chuàng)建對(duì)象。 第二章 Visual Basic程序設(shè)計(jì)入門 2.2.2 標(biāo)準(zhǔn)控件 工具箱中每種工具都用一個(gè)圖形按鈕來表示,除了第一個(gè)指針工具,其余都是控件類。每個(gè)按鈕的功能如表2.2.1所示。 控件對(duì)象的創(chuàng)建與操作 VB 工具箱中的控件對(duì)象類用于窗體界面設(shè)計(jì)。2.2

20、.3 控件的屬性設(shè)置 控件的屬性設(shè)置有兩種方法(前面已提過): 1、在界面設(shè)計(jì)階段可以通過屬性窗口直接設(shè)置; 2、在程序運(yùn)行的過程中,可以在代碼中改變控件的屬性。 格式為:對(duì)象名屬性=屬性值 注意省略對(duì)象時(shí)的含義! 控件的多數(shù)屬性既可利用屬性窗口設(shè)置,也可根據(jù)需要在程序運(yùn)行時(shí)通過程序代碼來改變 ;也有少數(shù)屬性只能用一種方式設(shè)置。 第二章 Visual Basic程序設(shè)計(jì)入門 例 2.2.1 在程序代碼中修改屬性實(shí)例。單擊窗體,在標(biāo)簽中用紅顏色顯示“歡迎進(jìn)入VB6.0 !”,如圖所示。 解:程序界面設(shè)計(jì)和代碼分析見實(shí)例程序。Private Sub Form_Click() Form1.Capti

21、on = 運(yùn)行程序修改屬性 設(shè)置窗體標(biāo)題 Label1.BackColor = &H80FFFF 設(shè)置標(biāo)簽背景顏色 Label1.ForeColor = &HFF& 設(shè)置標(biāo)簽顯示字體顏色 Label1.FontName = 黑體 設(shè)置標(biāo)簽字體 Label1.FontSize = 20 設(shè)置標(biāo)簽字體大小 Label1.Alignment = 2 設(shè)置顯示內(nèi)容在標(biāo)簽中的對(duì)齊 Label1.Caption = 歡迎進(jìn)入 VB6.0 ! 設(shè)置標(biāo)簽顯示的內(nèi)容End Sub 3、默認(rèn)屬性 每個(gè)控件對(duì)象都有很多屬性,Visual Basic系統(tǒng)把每個(gè)控件最關(guān)鍵或者最常用的屬性設(shè)定為控件的默認(rèn)屬性,控件的默認(rèn)

22、屬性也叫控件值。在程序代碼中,若要修改控件的默認(rèn)屬性,可以省略該屬性名。例如,文本框的默認(rèn)屬性是Text,下面兩個(gè)語(yǔ)句是等價(jià)的。 表2-2-2列出了部分常用控件對(duì)象的默認(rèn)屬性。(見教材) 第二章 Visual Basic程序設(shè)計(jì)入門 2.3 Visual Basic程序設(shè)計(jì)基本知識(shí) 程序設(shè)計(jì)的基礎(chǔ)是字符、詞匯、表達(dá)式、語(yǔ)句、過程、函數(shù)等語(yǔ)法單位。任何一種程序設(shè)計(jì)語(yǔ)言都有自己的語(yǔ)法規(guī)則。要想編寫出正確的程序,就必須嚴(yán)格遵守這些語(yǔ)法規(guī)則。 2.3.1 Visual Basic字符集與詞匯集 字符是構(gòu)成程序設(shè)計(jì)語(yǔ)言的最小語(yǔ)法單位。不同程序設(shè)計(jì)語(yǔ)言的基本字符集是大同小異的,它們都以ASCII字符集為基

23、礎(chǔ)。 Visual Basic的基本字符集包括:數(shù)字 、英文字母 、特殊字符 。 在Visual Basic程序中,還允許用漢字字符作為變量。2.3.2 Visual Basic 代碼的書寫規(guī)范 1、大小寫字母的書寫 :輸入程序代碼時(shí)不區(qū)分大小寫字母 。 2、語(yǔ)句續(xù)行: 空格 _(下劃線) 3、語(yǔ)句分隔標(biāo)志符冒號(hào)(:) :若要將兩個(gè)或多個(gè)語(yǔ)句放在同一行,就必須使用語(yǔ)句分隔標(biāo)志符冒號(hào)“:”將各語(yǔ)句分隔開來。這是一個(gè)“交換算法”第二章 Visual Basic程序設(shè)計(jì)入門 2.3.3 基本語(yǔ)句 1、賦值語(yǔ)句 賦值語(yǔ)句是程序中最基本的語(yǔ)句,也是為變量和控件屬性提供數(shù)據(jù)最主要的語(yǔ)句。 一般格式: Le

24、t = 或 . = 功能:將賦值號(hào)右邊表達(dá)式的值賦給左邊的變量或控件屬性。 注意教材中對(duì)每條語(yǔ)句的說明。 第二章 Visual Basic程序設(shè)計(jì)入門 2、注釋語(yǔ)句Rem 為了提高程序的可讀性,VB允許在程序中添加必要的注釋。注釋語(yǔ)句有兩種格式。 格式1: Rem 格式2: 注釋內(nèi)容 功能:為程序加上注釋內(nèi)容,便于理解程序。 3、暫停語(yǔ)句 Stop 格式: Stop 功能:暫停程序執(zhí)行,主要用語(yǔ)程序調(diào)試。 4、結(jié)束語(yǔ)句End 格式: End 功能:結(jié)束程序運(yùn)行。 第二章 Visual Basic程序設(shè)計(jì)入門 2.4 VB程序設(shè)計(jì)實(shí)例 2.4.1 建立應(yīng)用程序的基本步驟 編寫Visual Bas

25、ic應(yīng)用程序的基本步驟如下: 設(shè)計(jì)用戶界面:建立用戶界面的窗體,界面設(shè)計(jì)要操作方便、美觀。 設(shè)置控件屬性:每個(gè)控件都有很多屬性,通常這些屬性都有默認(rèn)值,若沒有重新設(shè)置,一般都采用默認(rèn)值。 編寫程序代碼:打開代碼窗口為要完成的任務(wù)編寫程序。重要的是選擇正確的事件和適合的算法。 保存文件:一個(gè)VB應(yīng)用程序至少要對(duì)一個(gè)工程文件與一個(gè)窗體文件分別進(jìn)行保存。 注意文件的擴(kuò)展名,這是最容易出錯(cuò)的! 調(diào)試程序代碼:,編寫的程序是否能正常工作? 例2.4.1 程序的功能是:要求單擊“移動(dòng)”按鈕,文字自動(dòng)向右移動(dòng);單擊“停止”按鈕,文字停止運(yùn)動(dòng);單擊“結(jié)束”按鈕,結(jié)束程序。第二章 Visual Basic程序設(shè)

26、計(jì)入門 第二章 Visual Basic程序設(shè)計(jì)入門 分析:1)設(shè)計(jì)用戶界面:按題目要求,云的背景可以在設(shè)計(jì)時(shí)加入,也可以在程序運(yùn)行時(shí)加入。 2)設(shè)置控件屬性:Name、Caption等幾個(gè)重要的屬性。 3)編寫程序代碼:事件選擇:本題的事件一是按鈕控件的Click事件, 二是自動(dòng)定時(shí)處理需要用時(shí)鐘 控件的Timer事件。本題算法的關(guān)鍵是文字自 動(dòng)向右移動(dòng)的處理。(分析下面的程序段) Private Sub Timer1_Timer() Label1.Left = Label1.Left + 100 左邊界+100 If Label1.Left = Me.ScaleWidth Then 左邊界

27、超過窗體寬度 Label1.Left = 0 End If End Sub 4)保存文件:注意文件路徑和擴(kuò)展名。(容易出錯(cuò)) 第二章 Visual Basic程序設(shè)計(jì)入門 2.5 工程的創(chuàng)建與管理 2.5.1 工程的構(gòu)成 一個(gè)工程可能包括的文件類型如表2.5.1所示 。第二章 Visual Basic程序設(shè)計(jì)入門 2.5.2 工程管理 Visual Basic的工程管理包括工程的創(chuàng)建、打開、保存,或者在工程中添加、刪除、保存窗體、模塊文件等操作。 1、文件菜單中的相關(guān)命令:(1)新建工程 ;(2)打開工程 ;(3)保存工程 ;(4)工程另存為與窗體另存為 ;(5)生成可執(zhí)行文件 。 2、工程菜

28、單中的相關(guān)命令:(1)添加窗體(Form)或模塊(Module) ;(2)刪除窗體(Form)或模塊(Module) 。 3、工程資源管理器 :主要包括窗體文件(.frm)、工程文件(.vbp)、程序模塊文件(.bas)、類模塊文件(.cls)等的管理。 4、工程環(huán)境設(shè)置:(1)自動(dòng)語(yǔ)法檢測(cè);(2)要求聲明變量 ;(3)自動(dòng)列出成員;(4)自動(dòng)顯示快速信息 ;(5)缺省為整個(gè)模塊查詢 。“工具”菜單“選項(xiàng)”菜單項(xiàng)第三章 窗體與常用控件 3.1 通用屬性 了解VB標(biāo)準(zhǔn)控件的構(gòu)成原理、性質(zhì),掌握它們主要屬性、事件和方法,是學(xué)習(xí)VB程序設(shè)計(jì)的關(guān)鍵。 在Visual Basic中許多控件都有很多相同的

29、屬性,我們將這部分屬性稱為通用屬性。 下面介紹窗體或其它控件對(duì)象的一些常用的通用屬性。 1. Name 名稱屬性 功能:在程序代碼中用于標(biāo)識(shí)對(duì)象的名稱。所有對(duì)象都有該屬性,在運(yùn)行狀態(tài)不能改變,是只讀的。 2. Caption標(biāo)題屬性 功能:在對(duì)象的表面或標(biāo)題欄上顯示的文本,在外觀上往往起提示和標(biāo)志的作用。 注意:初學(xué)者容易將Name屬性和Caption屬性混淆! 3. Enabled有效性屬性 功能:決定控件對(duì)象在運(yùn)行期間的有效性。 4. Visible可見性屬性 功能:設(shè)置窗體或控件對(duì)象運(yùn)行時(shí)是否可見。 第三章 窗體與常用控件 5. Height、Width、Top和Left的大小和位置屬性

30、 功能:Top屬性決定對(duì)象的頂部距其直接容器頂部的距離;Left屬性決定對(duì)象的左邊框距其直接容器的距離;Height、Width屬性分別決定對(duì)象的高度和寬度,如圖所示。注意它的單位。 6. Font字體屬性 功能:設(shè)置窗體或控件上顯示文本的字體、字形和大小等。 注意字體屬性的名稱,如FontName 、FontSize 、FontBold 、 FontItalic 、 FontUnderline 等。第三章 窗體與常用控件 例3.1.1Font屬性的設(shè)置舉例。在窗體上建立一個(gè)Label控件(名稱為L(zhǎng)abel1),單擊窗體,得到如圖的運(yùn)行結(jié)果。 分析:窗體單擊出現(xiàn)運(yùn)行結(jié)果,因此事件驅(qū)動(dòng)過程應(yīng)選擇

31、Form_Click()。 在窗體上添加一個(gè)Label控件,此例沒有改變?nèi)魏螌傩?,所以默認(rèn)名稱為L(zhǎng)abel1。 程序代碼:Private Sub Form_Click() 使Label1顯示為“Visual Basic 6.0 程序設(shè)計(jì)” Label1.Caption = Visual Basic 6.0 程序設(shè)計(jì) Label1.FontName = 隸書 設(shè)置Label1的字體為“隸書” Label1.FontSize = 20 設(shè)置Label1的字體大小為20 Label1.FontBold = True 設(shè)置Label1的字體為粗體 Label1.FontItalic = True 設(shè)置

32、Label1的字體為斜體 Label1.FontUnderline = True 設(shè)置Label1的字體為下劃線End Sub第三章 窗體與常用控件 7. ForeColor、BackColor前景色和背景色屬性 功能:ForeColor 和BackColor屬性設(shè)置文本和圖形的前景色和背景色。 說明:RGB(r, g, b) 是一個(gè)生成顏色的函數(shù),參數(shù)r、g、b分別代表紅、綠、藍(lán)三種顏色分量,取值范圍為0到255,該函數(shù)常用于程序中設(shè)置顏色3.2 窗體 窗體是VB中最基本的對(duì)象,是應(yīng)用程序的基本組成部分,是包容用戶界面或?qū)υ捒蛩璧母鞣N控件對(duì)象的容器。在新建工程后,VB會(huì)產(chǎn)生一個(gè)空白窗體(默

33、認(rèn)的窗體名稱為Form1),并以此作為創(chuàng)建應(yīng)用程序的起點(diǎn)。3.2.1 窗體的屬性 窗體除了具有通用屬性Name、Caption、Enabled、Visible、Height、Width、Top、Left、Font、ForeColor和BackColor外,還有自己獨(dú)特的屬性。 第三章 窗體與常用控件 1、 MinButton、MaxButton屬性 功能:MinButton屬性和MaxButton屬性分別決定窗體是否有最小化按鈕或最大化按鈕。 2、 ControlBox屬性 功能:確定窗體上是否顯示三個(gè)控制按鈕(最大化、最小化、關(guān)閉按鈕)和控制菜單, 3 、BorderStyle屬性 功能:確

34、定窗體或控件的邊框類型,取值范圍為0到5。 4、 Picture屬性 功能:設(shè)置控件對(duì)象中顯示的圖形。默認(rèn)值為空,表示控件對(duì)象中無圖形。 5 、WindowState屬性 功能:窗體開始運(yùn)行時(shí)的初始顯示狀態(tài)。 第三章 窗體與常用控件 3.2.2、窗體事件 窗體事件是指窗體能夠響應(yīng)的動(dòng)作。最常用的有如下事件。 1、 Click事件: 單擊窗體,觸發(fā)Click事件。 2、 DbClick事件:雙擊窗體,觸發(fā)DbClick事件。 注意: “雙擊”實(shí)際上觸發(fā)兩個(gè)事件:第一次點(diǎn)擊產(chǎn)生時(shí)產(chǎn)生Click事件,第二次點(diǎn)擊時(shí)產(chǎn)生DblClick事件。 3、 Load事件:運(yùn)行VB程序?qū)⒋绑w讀入內(nèi)存(加載窗體),

35、VB系統(tǒng)自動(dòng)觸發(fā)Load事件,此時(shí)窗體為不活動(dòng)窗體。Load事件一般用于在運(yùn)行程序時(shí)對(duì)屬性和變量進(jìn)行初始化。 例3.2.1 改變窗體屬性舉例。程序運(yùn)行開始時(shí),窗體中有一背景圖,每單擊窗體一次,窗體便縮小為當(dāng)前窗體的2/3。初始界面及單擊窗體一次后的結(jié)果如圖所示。 注:打開程序進(jìn)行分析事件和算法。 第三章 窗體與常用控件 4. Unload事件 關(guān)閉窗口時(shí)才發(fā)生。把窗體從內(nèi)存中刪除(即卸載窗體)。 5. Activate事件 發(fā)生在Load之后,窗體變?yōu)榛顒?dòng)窗體,VB系統(tǒng)自動(dòng)觸發(fā)Activate事件,此后才能響應(yīng)用戶在界面上的交互操作。 6. Resize事件如果進(jìn)行了改變窗體大小的操作,會(huì)觸發(fā)

36、Resize事件。 例3.2.2 窗體事件的觸發(fā)舉例。程序代碼如下,當(dāng)運(yùn)行程序,單擊窗體,雙擊窗體后的結(jié)果如圖所示。 注:打開程序進(jìn)行分析。 7. MouseDown、MouseUp和MouseMove(鼠標(biāo))事件 窗體及大多數(shù)控件都能夠識(shí)別的 MouseMove、MouseDown和MouseUp事件,通過響應(yīng)這些鼠標(biāo)事件,能對(duì)鼠標(biāo)位置及狀態(tài)的變化作出響應(yīng)。第三章 窗體與常用控件 鼠標(biāo)事件格式 Private Sub 對(duì)象名_MouseDown ( Button As Integer, Shift As Integer, X As Single,Y As Single) End Sub 參數(shù)

37、分析 (1)Button 參數(shù)表示按下或松開鼠標(biāo)某個(gè)按鈕時(shí),給出鼠標(biāo)按鍵的狀態(tài)。見教材:表3.2.1。 (2)Shift參數(shù)表示在Button參數(shù)指定的按鈕被按下或者被松開的情況下,鍵盤的Shift、Ctrl和Alt鍵的狀態(tài)。見教材:表3.2.2。 (3)X,Y參數(shù)給出鼠標(biāo)指針在窗體或控件中的當(dāng)前位置。 例3.2.3 鼠標(biāo)事件舉例。在窗體上,按下鼠標(biāo)鍵,窗體的背景色變?yōu)榫G色,并顯示“按下鼠標(biāo)鍵,觸發(fā) MouseDown 事件”;松開鼠標(biāo)鍵,窗體的背景色變?yōu)榧t色,并顯示“松開鼠標(biāo)鍵,觸發(fā) MouseUp 事件”。 注:打開程序進(jìn)行分析。第三章 窗體與常用控件 8. 鍵盤事件:KeyDown、Ke

38、yUp和KeyPress事件。注意:必須是具有焦點(diǎn)的控件才可能觸發(fā)鍵盤操作的事件。 Private Sub 對(duì)象名_KeyDown ( KeyCode As Integer, Shift As Integer ) End Sub Private Sub 對(duì)象名_KeyPress ( KeyAscii As Integer ) End Sub注意KeyCode與KeyAscii的區(qū)別、擴(kuò)展性說明 。 例3.2.4 KeyPress事件舉例。運(yùn)行程序時(shí),按下某個(gè)字符鍵,在窗體上顯示KeyAscii值和對(duì)應(yīng)的按下的鍵名。運(yùn)行程序,當(dāng)在鍵盤上依次按下“A”、“y”、“7”和“”鍵后的運(yùn)行結(jié)果如圖所示。

39、 注:打開程序進(jìn)行分析。第三章 窗體與常用控件 3.3.3 窗體方法 窗體可調(diào)用的方法很多,窗體方法的調(diào)用一般是放在程序代碼中。 1、 Print方法(重點(diǎn)之一,關(guān)鍵是輸出項(xiàng)的格式) 格式:對(duì)象名.Print 輸出項(xiàng) 功能:將數(shù)據(jù)和文本輸出到對(duì)象中。PictureBox、Printer和Debug等控件也有 Print方法。Printer和Debug本書中不作介紹。 說明: 對(duì)象名.:包括窗體、PictureBox控件。注意Me也表示窗體。 輸出項(xiàng):由一個(gè)或多個(gè)用“;”(分號(hào))和“,”(逗號(hào))隔開的表達(dá)式組成。用逗號(hào)分隔時(shí),各輸出項(xiàng)占14個(gè)字符的位置(分區(qū)格式);用分號(hào)分隔時(shí),各輸出項(xiàng)之間無空

40、格(緊湊格式)。如果在Print后面沒有跟任何輸出項(xiàng),則表示換行。 擴(kuò)展性說明: 對(duì)于數(shù)值型表達(dá)式,輸出的數(shù)值尾部自動(dòng)加一個(gè)空格,頭部加一個(gè)符號(hào)位(正數(shù)為空格)。 第三章 窗體與常用控件 如果Print方法輸出項(xiàng)的最后一個(gè)表達(dá)式有“;” 和“,” ,則下一個(gè)Print方法的輸出項(xiàng)按“;” 和“,” 的規(guī)則連續(xù)輸出。 Tab(n):將輸出內(nèi)容定位于窗體的第n個(gè)位置輸出。(絕對(duì)定位) Spc(n):在輸出內(nèi)容之前輸入n個(gè)空格。 (相對(duì)定位) Format(表達(dá)式,格式字符串):使表達(dá)式的值按“格式字符串”指定的格式輸出。第三章 窗體與常用控件 例3.2.5 Print方法舉例。 打開例題對(duì)Prin

41、t方法進(jìn)行說明。具體說明見例題中的注釋語(yǔ)句,并結(jié)合表3.2.3的“格式字符串”。 2、 Cls方法 格式:對(duì)象名.Cls 功能:清除運(yùn)行時(shí)在對(duì)象中用Print輸出的文本和用繪圖方法(在圖形操作中介紹)創(chuàng)建的圖形,同時(shí)將坐標(biāo)移到原點(diǎn) (0,0)。 注意: Cls方法不能清除對(duì)象中的Caption、Picture等屬性值。對(duì)象的屬性值只能通過修改其屬性值來清除。 3、 Move方法 格式:對(duì)象名. Move Left ,Top,Width,Height 功能:移動(dòng)窗體或控件。Move方法有四個(gè)參數(shù),通過修改相應(yīng)的參數(shù),可以實(shí)現(xiàn)動(dòng)畫。四個(gè)參數(shù)中,Left為必要參數(shù),不能少;Top、Width、Hei

42、ght為可選參數(shù),若缺省,系統(tǒng)采用默認(rèn)值。第三章 窗體與常用控件 例3.2.6 Move方法示例。在屏幕上移動(dòng)窗體,程序運(yùn)行時(shí),每單擊窗體一次,窗體向下移動(dòng)200Twip。 分析:事件選擇窗體單擊Form_Click;下移Top坐標(biāo)增加。 程序代碼 單擊窗體后,窗體才移動(dòng),故選擇Form_Click() Private Sub Form_Click() Form1.Move Form1.Left, Form1.Top + 200 End Sub3.3 基本控件 控件是在圖形用戶界面上輸入信息、輸出信息、啟動(dòng)事件過程等交互操作的圖形對(duì)象,是進(jìn)行可視化程序設(shè)計(jì)的基礎(chǔ)和重要工具。 1、 控件的值 控

43、件的值就是控件的一個(gè)屬性,也稱控件默認(rèn)屬性。一個(gè)控件只有一個(gè)屬性可作為該控件的值。作為控件的值的屬性在編寫程序代碼時(shí)可以省略,即可用控件名代替該屬性。表3.3.1列出了部分控件的值。 第三章 窗體與常用控件 2、 控件的容器功能 所謂容器,就是可以在其上放置其它控件對(duì)象的一種對(duì)象。容器內(nèi)的所有控件成為一個(gè)組合,隨容器一起移動(dòng)、顯示、隱藏等。在VB的標(biāo)準(zhǔn)控件中只有三個(gè)對(duì)象或控件具有容器功能,它們是窗體、圖片框和框架。 標(biāo)簽控件主要用于顯示文字說明信息及程序運(yùn)行的某些結(jié)果等。 1、 標(biāo)簽的屬性 標(biāo)簽除了具有通用屬性Name、Caption、Enabled、Visible、Height、Width、

44、Top、Left、Font、ForeColor和BackColor外,還有自己獨(dú)特的屬性。 3.3.1 標(biāo)簽控件 第三章 窗體與常用控件 (1)Alignment屬性 功能:確定標(biāo)簽中顯示文本的對(duì)齊方式。該屬性值為0,表示左對(duì)齊(默認(rèn)值);為1,表示右對(duì)齊;為2,表示居中對(duì)齊。 (2)BackStyle屬性 功能:設(shè)置標(biāo)簽背景是否透明。該屬性值為0,表示透明,標(biāo)簽后的背景和圖形可見;為1,表示不透明,標(biāo)簽后的背景和圖形不可見。 (3)BorderStyle屬性 功能:設(shè)置有無邊框。該屬性值為0,表示無邊框(默認(rèn)值);為1,表示有邊框。 (4)Autosize屬性 功能:確定標(biāo)簽是否會(huì)隨標(biāo)題內(nèi)容

45、自動(dòng)改變大?。凑{(diào)節(jié)水平方向的長(zhǎng)度),以正好顯示全部?jī)?nèi)容。該屬性值為True,表示能自動(dòng)調(diào)節(jié)且不換行;為False,表示不能自動(dòng)調(diào)節(jié)(默認(rèn)值),超出尺寸范圍的內(nèi)容不予顯示。 (5)Wordwrap屬性 功能:決定是否能自動(dòng)調(diào)節(jié)垂直方向的高度,以正好顯示全部?jī)?nèi)容。 第三章 窗體與常用控件 2、標(biāo)簽的事件 標(biāo)簽可以響應(yīng)許多事件,如常用的Click、DblClick等,用法與窗體的Click、DblClick事件類似,但很少用。 3、 標(biāo)簽的方法 標(biāo)簽擁有Move方法,用法與Form的Move方法相同。文本框主要用于在窗體中顯示和接收文本信息,也就是輸入輸出功能。 1、文本框的屬性 除具有通用屬性N

46、ame、Enabled、Visible、Height、Width、Top、Left、Font、ForeColor和BackColor外,還有自己獨(dú)特的屬性。 (1)Text屬性:在文本框中顯示的文本內(nèi)容。 (2)PassWordChar屬性 :設(shè)置文本內(nèi)容的顯示形式 ,用于設(shè)置密碼。 (3)MultiLine屬性:決定是否能接收和顯示多行文本。 (4)MaxLength屬性:文本框中可接收和顯示字符的最大長(zhǎng)度。 (5)ScrollBars屬性:確定文本框是否具有滾動(dòng)條,只有當(dāng)MultiLine為True時(shí),該屬性才有效。 3.3.2 文本框控件第三章 窗體與常用控件 (6)Locked屬性:設(shè)

47、置是否鎖定文本框中的內(nèi)容。 (7)SelStart、SelLength和SelText屬性:分別設(shè)置或返回文本框中選定文本的起始位置、長(zhǎng)度和文本內(nèi)容。 2、文本框的事件 除了能響應(yīng)事件Click、DblClick外,還可響應(yīng)其他事件。 (1)Change事件:當(dāng)Text屬性發(fā)生變化時(shí),觸發(fā)Change事件。 (2)GetFocus事件:當(dāng)對(duì)象獲得焦點(diǎn)時(shí),觸發(fā)GetFocus事件。 (3)LostFocus事件:當(dāng)對(duì)象失去焦點(diǎn)時(shí),觸發(fā)LostFocu事件。 注:簡(jiǎn)單地說焦點(diǎn)Focus就是光標(biāo),更詳細(xì)的概念稍后講。 例3.3.1 文本框輸入數(shù)據(jù)舉例。從文本框Text1中輸入半徑的值,單擊窗體,計(jì)算

48、圓的周長(zhǎng)、圓的面積、球體的體積,并顯示在標(biāo)簽框中;如單擊文本框Text1,輸入另外的半徑值,則先清除原來的信息,再輸入。 注:打開程序進(jìn)行分析。第三章 窗體與常用控件 例3.3.2文本框中選定文本舉例。在文本框Text1中用鼠標(biāo)選擇一段文字,選擇之后,便立即在Text2中輸出。同時(shí)在Text3中顯示起始位置,在Text4中顯示選擇字符的長(zhǎng)度。 程序代碼分析: Private Sub Text1_Click() P = Text1.SelStart 鼠標(biāo)操作決定SelStart和SelLength,進(jìn)而決定SelText L = Text1.SelLength Text2.Text = Text

49、1.SelText 在Text2中顯示被選定的文本 Text3.Text = P 在Text3中顯示被選定的文本起始位置 Text4.Text = L 在Text2中顯示被選定的文本的長(zhǎng)度 End Sub第三章 窗體與常用控件 3、文本框的方法 文本框能使用的方法不多,其中常用的是SetFocus。SetFocus方法的作用是把焦點(diǎn)移到指定的對(duì)象上,使之獲得焦點(diǎn)。 3.3.3 焦點(diǎn) 焦點(diǎn)Focus是控件響應(yīng)用戶用鼠標(biāo)或鍵盤輸入的能力。當(dāng)控件具有焦點(diǎn)時(shí),可接收用戶的輸入。在一個(gè)窗體中,若有多個(gè)可以獲得焦點(diǎn)的控件,如文本框TextBox,在程序運(yùn)行時(shí),只有字符輸入光標(biāo)所在的文本框具有焦點(diǎn)。只有具有

50、焦點(diǎn)的控件才能接收用戶從鍵盤輸入的文本。 1) 焦點(diǎn)事件 (1)GotFocus事件:當(dāng)控件獲得焦點(diǎn)時(shí)觸發(fā)GotFocus事件。 格式: Private Sub 對(duì)象名_GotFocus ( ) End Sub (2)LostFocus 事件:當(dāng)控件失去焦點(diǎn)時(shí),觸發(fā)LostFocus事件。 格式: Private Sub對(duì)象名_LostFocus ( ) End Sub 第三章 窗體與常用控件 (3)SetFocus方法 功能:設(shè)置某個(gè)控件獲得焦點(diǎn)。 格式: SetFocus 2、 TabIndex屬性 功能:設(shè)置或返回在容器中對(duì)象響應(yīng)Tab鍵的順序。改變TabIndex屬性的值,就可改變焦點(diǎn)

51、。也就是按“Tab”鍵時(shí)焦點(diǎn)移動(dòng)的順序。 例3.3.3 焦點(diǎn)設(shè)置舉例。在兩個(gè)文本框Text1和Text2中,輸入數(shù)據(jù),單擊顯示結(jié)果的標(biāo)簽Label1,就會(huì)進(jìn)行運(yùn)算并顯示,程序運(yùn)行的結(jié)果如圖。 要求:當(dāng)改變?nèi)我庖粋€(gè)文本框的內(nèi)容時(shí),就清除運(yùn)算結(jié)果,再次單擊顯示結(jié)果的標(biāo)簽框,才會(huì)進(jìn)行運(yùn)算并顯示;當(dāng)在某一個(gè)文本框輸入數(shù)據(jù)時(shí),如果按回車鍵,輸入光標(biāo)就自動(dòng)移到另一個(gè)文本框中。 第三章 窗體與常用控件 程序分析:計(jì)算功能: Private Sub Label1_Click() 單擊標(biāo)簽Label1,觸發(fā)該事件 Label1 = Val(Text1) + Val(Text2) 計(jì)算并顯示結(jié)果 End Sub

52、清除功能: Private Sub Text1_Change() Text1中輸入的數(shù)據(jù)發(fā)生改變,觸發(fā)該事件 Label1 = 清除計(jì)算結(jié)果 End Sub 焦點(diǎn)設(shè)置功能: Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then 判斷是否按了回車鍵 Text2.SetFocus 將另一個(gè)文本框設(shè)為焦點(diǎn) End If End Sub第三章 窗體與常用控件 命令按鈕是以按鈕的形式出現(xiàn)在窗體上,用鼠標(biāo)單擊命令按鈕,會(huì)觸發(fā)該命令按鈕的Click事件,進(jìn)而執(zhí)行Click事件過程中的代碼。 1、屬性 命令按鈕除具有通用屬性

53、Name、Caption、Enabled、Visible、Height、Width、Top、Left、Font、ForeColor和BackColor外,還有自己獨(dú)特的屬性。 (1)Style屬性:設(shè)置控件的外觀是標(biāo)準(zhǔn)的文本樣式,還是圖形樣式。 (2)Picture屬性:設(shè)置在命令按鈕表面顯示的圖形。 (3)DownPicture屬性:當(dāng)按下鼠標(biāo)鍵時(shí),命令按鈕表面顯示的圖形。 (4)DisabledPicture屬性:當(dāng)命令按鈕暫不起作用時(shí),命令按鈕顯示的圖形。當(dāng)Style為1,并且Enabled為False時(shí),該屬性才起作用。 (5)Cancel屬性:設(shè)置的取消按鈕。 (6)Defualt屬

54、性:設(shè)置默認(rèn)的確定按鈕。 3.3.4 命令按鈕控件 第三章 窗體與常用控件 2、 事件 命令按鈕控件的最主要、最常用的事件是Click事件。在程序運(yùn)行時(shí),以下情況可以觸發(fā)命令按鈕的Click事件: 用鼠標(biāo)單擊命令按鈕。 按Tab鍵或調(diào)用SetFoucs方法,將焦點(diǎn)移到命令按鈕上,然后按Enter鍵。 按Alt+帶有下劃線的字母鍵。 當(dāng)命令按鈕的Default屬性為True時(shí),按Enter鍵。圖3.3.4 標(biāo)簽、文本框和命令按鈕舉例 當(dāng)命令按鈕的Cancel屬性為True時(shí),按Esc鍵。 第三章 窗體與常用控件 例3.3.4標(biāo)簽、文本框和命令按鈕舉例。在文本框Text1和Text2中,分別輸入用

55、戶名和密碼,選擇“登錄”按鈕,判斷用戶名和密碼正確性,并顯示相應(yīng)的登錄信息。若正確,在標(biāo)簽Label3顯示正確的登錄信息,否則顯示不正確信息,并自動(dòng)選定用戶名文本框的內(nèi)容;重新輸入用戶名,將自動(dòng)清除密碼框和登錄信息顯示框中的內(nèi)容。輸入不正確的運(yùn)行結(jié)果見上圖。 要求:輸入用戶名和密碼以回車鍵結(jié)束,同時(shí)將焦點(diǎn)向下移動(dòng)。 分析:本例中解決問題的關(guān)鍵在于選擇正確的事件過程。 啟動(dòng)程序后,將光標(biāo)移到用戶名輸入框,選擇由VB系統(tǒng)自動(dòng)觸發(fā)的Form_Activate。 選擇“登錄”按鈕,判斷用戶名和密碼正確性,選擇Command1_Click()事件。 輸入用戶名和密碼以回車鍵結(jié)束,同時(shí)將焦點(diǎn)向下移動(dòng),選擇

56、Text1_KeyPress和Text2_KeyPress,在其中通過KeyAscii參數(shù)來判斷是否輸入回車鍵。 重新輸入用戶名,將自動(dòng)清除密碼框和登錄信息顯示框中的內(nèi)容,利用文本框的Change事件來觸發(fā),選擇Text1_Change()。 第三章 窗體與常用控件 程序代碼分析:Private Sub Form_Activate() Text1.SetFocus 啟動(dòng)程序后,將光標(biāo)移到用戶名輸入框 Text2.PasswordChar = 設(shè)置密碼框的顯示方式End SubPrivate Sub Command1_Click() If Text1 = Microsoft And Text2

57、= 24681357 Then 判斷正確性 Label3 = “歡迎” & Text1 & “登錄!” 正確時(shí)顯示的信息 Else Label3 = “用戶名或密碼錯(cuò)!請(qǐng)重新輸入” 錯(cuò)誤時(shí)顯示的信息 Text1.SetFocus 移到焦點(diǎn)用戶名輸入框,為重新輸入做準(zhǔn)備 下兩行完成文本框內(nèi)容的選定,為重新輸入做準(zhǔn)備,為什么? Text1.SelStart = 0 Text1.SelLength = Len(Text1) Len()函數(shù)的值為Text1內(nèi)容的長(zhǎng)度 Text2 = 清除密碼框中的內(nèi)容 End IfEnd Sub第三章 窗體與常用控件 Private Sub Text1_KeyPres

58、s(KeyAscii As Integer) If KeyAscii = 13 Then 判斷是否輸入回車鍵(它的Ascii碼為13) Text2.SetFocus 移動(dòng)焦點(diǎn)到密碼框 下兩行完成文本框內(nèi)容的選定,為輸入做準(zhǔn)備,有作用嗎? Text2.SelStart = 0 Text2.SelLength = Len(Text2) End IfEnd SubPrivate Sub Text2_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Command1.SetFocus 密碼框中輸入回車鍵后,移動(dòng)焦點(diǎn)到登錄按鈕End SubPriva

59、te Sub Text1_Change() Label3 = 清除信息顯示框中的內(nèi)容End Sub注意:命令按鈕沒有DblClick事件。第三章 窗體與常用控件 1)復(fù)選框和單選按鈕屬性 它們除了具有通用屬性Name、Caption、Enabled、Visible、Height、Width、Top、Left、Font、ForeColor和BackColor外,還有自己獨(dú)特的屬性。 3.3.5 單選按鈕 與復(fù)選框控件 復(fù)選框和單選按鈕是應(yīng)用程序的用戶界面上常用的兩類控件。這兩類控件單個(gè)使用通常是沒有意義的,實(shí)際應(yīng)用中總是成組出現(xiàn)。 (1)Value屬性:設(shè)置或返回選擇的狀態(tài)。復(fù)選框和單選按鈕的默

60、認(rèn)屬性均為Value。注意復(fù)選框和單選按鈕的值是有區(qū)別的。 復(fù)選框:Value=0,表示未被選定;Value=1,表示被選定,被選中項(xiàng)目左側(cè)小方框中會(huì)出現(xiàn)顯示;Value=2,變?yōu)榛疑硎窘褂脩暨x擇。 單選按鈕Value=True,表示被選定,圓圈中會(huì)出現(xiàn)一黑點(diǎn);Value=False,表示未被選定。 (2)Style屬性:設(shè)置控件的外觀是標(biāo)準(zhǔn)的文本樣式,還是圖形樣式。 2) 復(fù)選框和單選按鈕事件 單選按鈕和復(fù)選框的最常用事件是Click事件。 第三章 窗體與常用控件 程序代碼分析(只分析除法,其它用法相同)Private Sub Option4_Click() 除運(yùn)算 A = Val(T

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論