Visual-Basic(60)-程序設(shè)計(jì)教程VB全部教學(xué)課件_第1頁(yè)
Visual-Basic(60)-程序設(shè)計(jì)教程VB全部教學(xué)課件_第2頁(yè)
Visual-Basic(60)-程序設(shè)計(jì)教程VB全部教學(xué)課件_第3頁(yè)
Visual-Basic(60)-程序設(shè)計(jì)教程VB全部教學(xué)課件_第4頁(yè)
Visual-Basic(60)-程序設(shè)計(jì)教程VB全部教學(xué)課件_第5頁(yè)
已閱讀5頁(yè),還剩783頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

為什么要學(xué)本課程?

全國(guó)計(jì)算機(jī)等級(jí)考試(二級(jí))中,計(jì)算機(jī)程序設(shè)計(jì)是必修課程。Windows程序設(shè)計(jì)的語(yǔ)言有如下幾種:傳統(tǒng)的C/C++語(yǔ)言:面向過(guò)程,學(xué)習(xí)難度大。VisualC++:面向?qū)ο?,學(xué)習(xí)難度大。VisualFoxPro:面向?qū)ο蠛蛿?shù)據(jù)庫(kù),已停止發(fā)展。VisualBASIC:面向?qū)ο?,功能?qiáng)大,比較簡(jiǎn)單,適合于作為第一門計(jì)算機(jī)課程。為什么要學(xué)本課程?全國(guó)計(jì)算機(jī)等級(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ǔ)言,是VB的子集)學(xué)了VB可以干什么?VB可以實(shí)現(xiàn):學(xué)習(xí)要求上課:認(rèn)真聽(tīng)講,適當(dāng)做筆記,不要什么都記。下課:多上機(jī)練習(xí)、多背程序、多做題。上機(jī)實(shí)驗(yàn):要求提前寫好程序時(shí),希望盡量做到。最大目的:鍛煉邏輯思維,培養(yǎng)創(chuàng)造性,學(xué)會(huì)發(fā)現(xiàn)問(wèn)題、思考問(wèn)題、分析問(wèn)題、解決問(wèn)題的方法。(掌握算法)學(xué)習(xí)要求上課:認(rèn)真聽(tīng)講,適當(dāng)做筆記,不要什么都記。下課:多上第一章

概述

第二章

VisualBasic程序設(shè)計(jì)入門

第三章

窗體與常用控件

第四章程序設(shè)計(jì)基礎(chǔ)第五章程序控制結(jié)構(gòu)

第六章數(shù)組第七章過(guò)程

第八章文件第九章圖形操作第十章界面設(shè)計(jì)第十二章程序調(diào)試及錯(cuò)誤處理

第十一章VisualBasic數(shù)據(jù)庫(kù)編程

VisualBasic程序設(shè)計(jì)教程第一章概述第二章VisualBas第一章概述1.1VisualBasic的發(fā)展和特點(diǎn)

1.1.1VisualBasic的發(fā)展

VisualBasic是一種可視化的、面向?qū)ο蠛筒捎檬录?qū)動(dòng)方式的高級(jí)程序設(shè)計(jì)語(yǔ)言,可用于開發(fā)Windows環(huán)境下的各類應(yīng)用程序。

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

VisualBasic6.0包含學(xué)習(xí)版、專業(yè)版和企業(yè)版。1.1.2VisualBasic的特點(diǎn)

VisualBasic是目前所有開發(fā)語(yǔ)言中最簡(jiǎn)單、最容易使用的語(yǔ)言。作為程序設(shè)計(jì)語(yǔ)言,VisualBasic主要有以下特點(diǎn)。

1.可視化編程。

2.面向?qū)ο蟮某绦蛟O(shè)計(jì)。

3.結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言。第一章概述1.1VisualBasic的發(fā)展和特點(diǎn)第一章概述4.事件驅(qū)動(dòng)編程機(jī)制。

5.強(qiáng)大的數(shù)據(jù)庫(kù)訪問(wèn)能力。

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

7.高度的可擴(kuò)充性。

8.支持動(dòng)態(tài)數(shù)據(jù)交換。1.2VisualBasic6.0的啟動(dòng)和退出

1.VisualBasic6.0的啟動(dòng)

2.VisualBasic6.0的退出結(jié)合VisualBasic6.0

的開發(fā)環(huán)境介紹VisualBasic6.0

多種啟動(dòng)方法和退出方式。第一章概述4.事件驅(qū)動(dòng)編程機(jī)制。1.2Vis1.3VisualBasic6.0集成開發(fā)環(huán)境

第一章概述VisualBasic6.0集成開發(fā)環(huán)境(IDE,IntegratedDevelopmentEnvironment)是提供設(shè)計(jì)、運(yùn)行和測(cè)試應(yīng)用程序所需的各種工具的一個(gè)工作環(huán)境。這些工具互相協(xié)調(diào)、互相補(bǔ)充,大大減少了應(yīng)用程序的開發(fā)難度。

VisualBasic6.0啟動(dòng)后,出現(xiàn)如圖的對(duì)話框,選擇“標(biāo)準(zhǔn)EXE”,再單擊“打開”,即可進(jìn)入VisualBasic6.0集成開發(fā)環(huán)境,如下圖所示。1.3VisualBasic6.0集成開發(fā)環(huán)境第一章第一章概述屬性窗口工具箱窗口布局窗口代碼窗口工程資源管理器窗口工具欄菜單欄標(biāo)題欄窗體設(shè)計(jì)窗口第一章概述屬性窗口工具箱窗口布局窗口代碼窗口工程資第一章概述

1.4VisualBasic6.0的幫助系統(tǒng)1.4.1使用MSDNLibrary

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

1.4.2使用上下文相關(guān)的幫助

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

1.4.3從Internet上獲得幫助

在Internet上有大量的介紹VisualBasic6.0程序設(shè)計(jì)技巧、經(jīng)驗(yàn)的站點(diǎn),許多站點(diǎn)上還有例子及源程序下載。第一章概述1.4VisualBasic6.第二章VisualBasic程序設(shè)計(jì)入門2.1VisualBasic編程的基本概念

學(xué)習(xí)計(jì)算機(jī)程序設(shè)計(jì)課程的目的,就是學(xué)會(huì)怎樣與計(jì)算機(jī)交流,將人解決問(wèn)題的思路、方法、手段以某種計(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ī)則是通過(guò)程序設(shè)計(jì)語(yǔ)言進(jìn)行交流的。程序設(shè)計(jì)語(yǔ)言由字、詞和語(yǔ)法規(guī)則構(gòu)成指令系統(tǒng)。計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言有多種,可用不同的程序設(shè)計(jì)語(yǔ)言編寫不同的程序來(lái)解決同一個(gè)問(wèn)題。從計(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ǔ)言兩大類。第二章VisualBasic程序設(shè)計(jì)入門2.1V第二章VisualBasic程序設(shè)計(jì)入門

低級(jí)語(yǔ)言是面向機(jī)器的指令系統(tǒng),又分為機(jī)器語(yǔ)言和匯編語(yǔ)言。高級(jí)語(yǔ)言是接近人類習(xí)慣和語(yǔ)言描述方式的指令系統(tǒng)。高級(jí)語(yǔ)言不依賴于機(jī)器,構(gòu)成簡(jiǎn)單,移植性好,便于記憶、學(xué)習(xí)和維護(hù)。人們常說(shuō)的“程序設(shè)計(jì)語(yǔ)言”就是指高級(jí)語(yǔ)言。高級(jí)語(yǔ)言又分為面向過(guò)程的程序設(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ī)解決問(wèn)題的方法和步驟,稱為“計(jì)算機(jī)算法”,簡(jiǎn)稱“算法”。算法是我們學(xué)習(xí)的重點(diǎn)內(nèi)容之一,需要我們?cè)趯W(xué)習(xí)中逐步積累。

程序設(shè)計(jì)主要有兩個(gè)方面的任務(wù):首先是擬定算法,即將需要計(jì)算機(jī)處理的實(shí)際問(wèn)題抽象為數(shù)學(xué)模型,并設(shè)計(jì)出解決問(wèn)題所需的方法和步驟;然后是編制程序,即用合適的程序設(shè)計(jì)語(yǔ)言對(duì)設(shè)計(jì)的算法進(jìn)行編碼。第二章VisualBasic程序設(shè)計(jì)入門第二章VisualBasic程序設(shè)計(jì)入門VisualBasic是采用事件驅(qū)動(dòng)編程機(jī)制的可視化程序設(shè)計(jì)語(yǔ)言??梢暬绦蛟O(shè)計(jì)利用系統(tǒng)所提供的可視“控件類”來(lái)創(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ì)象。

面向?qū)ο蟪绦蛟O(shè)計(jì)方法,是將數(shù)據(jù)與程序封裝成一個(gè)互相依存、不可分割的整體,這個(gè)整體被稱為“對(duì)象”,每個(gè)對(duì)象都是可視的。在VB系統(tǒng)中,對(duì)象的特性、名稱、大小、形狀、顏色及功能被稱為屬性。

第二章VisualBasic程序設(shè)計(jì)入門Vi第二章VisualBasic程序設(shè)計(jì)入門VB中的“類”是同種對(duì)象的集合與抽象,是創(chuàng)建對(duì)象的模板。對(duì)象類第二章VisualBasic程序設(shè)計(jì)入門VB第二章VisualBasic程序設(shè)計(jì)入門

2.對(duì)象的屬性、事件和方法對(duì)象的屬性、事件和方法是對(duì)象的三要素(學(xué)習(xí)重點(diǎn))。

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

對(duì)屬性不了解,就不可能設(shè)計(jì)出好的程序

。

屬性的表示:對(duì)象名·屬性

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

[對(duì)象名·]屬性=屬性值

‘這里的“=”號(hào)為賦值號(hào)事件:對(duì)象所受到的外部行為,也就是發(fā)生在對(duì)象上的動(dòng)作;該對(duì)象上發(fā)生了事件,如果有響應(yīng),這就是事件過(guò)程。格式如下:

PrivateSub對(duì)象名_事件([參數(shù)表])

……Endsub

第二章VisualBasic程序設(shè)計(jì)入門2.第二章VisualBasic程序設(shè)計(jì)入門

方法:對(duì)象能完成的動(dòng)作。方法的動(dòng)作是事先為程序設(shè)計(jì)人員提供的一種特殊的過(guò)程和函數(shù)。

(是不可見(jiàn)的程序代碼)

對(duì)象方法的調(diào)用格式:[對(duì)象·]方法[(參數(shù)表)]

例2.1.1

Move方法的調(diào)用示例。在窗體上創(chuàng)建了一個(gè)文本框?qū)ο骉ext1,用鼠標(biāo)單擊窗體時(shí),將文本框移到坐標(biāo)為(200,100)的位置上。采用Move方法來(lái)實(shí)現(xiàn),其事件過(guò)程為:

PrivateSubForm_Click()’窗體單擊事件

Text1.Move200,100’調(diào)用Move方法

EndSub

例2.1.2

Print方法的調(diào)用示例。用鼠標(biāo)單擊命令按鈕時(shí),在窗體上顯示“歡迎進(jìn)入VB6.0!”。事件過(guò)程為:

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

Form1.Print“歡迎進(jìn)入VB6.0!”’調(diào)用Print方法

EndSub

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

1.窗體模塊窗體是VisualBasic程序設(shè)計(jì)的基礎(chǔ),是最常見(jiàn)的對(duì)象。窗體也是容器,各種控件對(duì)象都建立在窗體上。用戶通過(guò)窗體和窗體上的控件向應(yīng)用程序提供數(shù)據(jù)和控制命令,并通過(guò)窗體和窗體上的控件獲得程序執(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ā)過(guò)程一般遵循先設(shè)計(jì)界面,再基于事件編寫程序代碼。第二章VisualBasic程序設(shè)計(jì)入門2.1.3第二章VisualBasic程序設(shè)計(jì)入門2.1.4事件驅(qū)動(dòng)

1.控件對(duì)象的事件

VisualBasic系統(tǒng)為每個(gè)控件都設(shè)置了若干事件(如Click、DblClick、Load等)。多數(shù)事件都是由用戶驅(qū)動(dòng),有的事件是由系統(tǒng)來(lái)驅(qū)動(dòng)(如Load事件)。

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

2.事件過(guò)程事件過(guò)程是一段告訴計(jì)算機(jī)應(yīng)該執(zhí)行什么操作的程序代碼。每個(gè)事件均能驅(qū)動(dòng)相應(yīng)的事件過(guò)程,事件過(guò)程代碼需要用戶自己來(lái)編寫。VisualBasic程序的主體通常是由若干個(gè)事件過(guò)程組成的。事件過(guò)程的執(zhí)行是由用戶或系統(tǒng)的動(dòng)作驅(qū)動(dòng)。例如,單擊鼠標(biāo)按鈕,觸發(fā)按鈕的Click事件,則對(duì)應(yīng)該事件過(guò)程中的代碼就會(huì)被執(zhí)行。

事件過(guò)程的一般格式是:

PrivateSub對(duì)象名_事件([參數(shù)表])

'事件過(guò)程的過(guò)程頭

……

'事件過(guò)程的程序代碼

Endsub

'事件過(guò)程的過(guò)程尾第二章VisualBasic程序設(shè)計(jì)入門2

3.事件驅(qū)動(dòng)機(jī)制面向?qū)ο蟮某绦蛟O(shè)計(jì)中,每個(gè)對(duì)象都能響應(yīng)多個(gè)不同的事件,每個(gè)事件均能驅(qū)動(dòng)一段能完成某項(xiàng)功能的程序代碼。

程序代碼的執(zhí)行順序,基本上取決于事件發(fā)生的順序。3.事件驅(qū)動(dòng)機(jī)制程序代碼的執(zhí)行順序,基本第二章VisualBasic程序設(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è)置為←、→、↑、↓(軟鍵盤輸入)。

分析:本程序不改變Shape控件的大小,由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

)第二章VisualBasic程序設(shè)計(jì)入門例第二章VisualBasic程序設(shè)計(jì)入門2.2控件對(duì)象

控件是VisualBasic應(yīng)用程序界面設(shè)計(jì)的主要部件。VisualBasic6.0提供了大量的控件??丶牟僮髦饕丶?duì)象的建立、控件的屬性設(shè)置和控件事件過(guò)程代碼編制。2.2.1常用的控件類型:

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

1、標(biāo)準(zhǔn)控件(也稱為內(nèi)部控件):VB啟動(dòng)后,標(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ì)象。第二章VisualBasic程序設(shè)計(jì)入門2.2控件第二章VisualBasic程序設(shè)計(jì)入門2.2.2標(biāo)準(zhǔn)控件

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

控件對(duì)象的創(chuàng)建與操作

VB工具箱中的控件對(duì)象類用于窗體界面設(shè)計(jì)。2.2.3

控件的屬性設(shè)置

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

1、在界面設(shè)計(jì)階段可以通過(guò)屬性窗口直接設(shè)置;

2、在程序運(yùn)行的過(guò)程中,可以在代碼中改變控件的屬性。格式為:[對(duì)象名·]屬性=屬性值注意省略對(duì)象時(shí)的含義!

控件的多數(shù)屬性既可利用屬性窗口設(shè)置,也可根據(jù)需要在程序運(yùn)行時(shí)通過(guò)程序代碼來(lái)改變;也有少數(shù)屬性只能用一種方式設(shè)置。第二章VisualBasic程序設(shè)計(jì)入門2.2.2第二章VisualBasic程序設(shè)計(jì)入門

例2.2.1

在程序代碼中修改屬性實(shí)例。單擊窗體,在標(biāo)簽中用紅顏色顯示“歡迎進(jìn)入VB6.0!”,如圖所示。解:程序界面設(shè)計(jì)和代碼分析見(jiàn)實(shí)例程序。PrivateSubForm_Click()Form1.Caption="運(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)容EndSub第二章VisualBasic程序設(shè)計(jì)入門例

3、默認(rèn)屬性每個(gè)控件對(duì)象都有很多屬性,VisualBasic系統(tǒng)把每個(gè)控件最關(guān)鍵或者最常用的屬性設(shè)定為控件的默認(rèn)屬性,控件的默認(rèn)屬性也叫控件值。在程序代碼中,若要修改控件的默認(rèn)屬性,可以省略該屬性名。例如,文本框的默認(rèn)屬性是Text,下面兩個(gè)語(yǔ)句是等價(jià)的。

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

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

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

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

1、大小寫字母的書寫:輸入程序代碼時(shí)不區(qū)分大小寫字母。

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

3、語(yǔ)句分隔標(biāo)志符—冒號(hào)(:):若要將兩個(gè)或多個(gè)語(yǔ)句放在同一行,就必須使用語(yǔ)句分隔標(biāo)志符冒號(hào)“:”將各語(yǔ)句分隔開來(lái)。這是一個(gè)“交換算法”2.3.2VisualBasic代碼的書寫規(guī)范第二章VisualBasic程序設(shè)計(jì)入門2.3.3基本語(yǔ)句

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

[Let]<變量名>=<表達(dá)式>

或 [<對(duì)象名>.]<屬性名>=<表達(dá)式>

功能:將賦值號(hào)右邊表達(dá)式的值賦給左邊的變量或控件屬性。

注意教材中對(duì)每條語(yǔ)句的說(shuō)明。

第二章VisualBasic程序設(shè)計(jì)入門2.3.3第二章VisualBasic程序設(shè)計(jì)入門2、注釋語(yǔ)句Rem

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

Rem<注釋內(nèi)容>

格式2:

'注釋內(nèi)容功能:為程序加上注釋內(nèi)容,便于理解程序。3、暫停語(yǔ)句Stop

格式:

Stop

功能:暫停程序執(zhí)行,主要用語(yǔ)程序調(diào)試。4、結(jié)束語(yǔ)句End

格式:

End

功能:結(jié)束程序運(yùn)行。第二章VisualBasic程序設(shè)計(jì)入門2第二章VisualBasic程序設(shè)計(jì)入門2.4VB程序設(shè)計(jì)實(shí)例

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

④保存文件:一個(gè)VB應(yīng)用程序至少要對(duì)一個(gè)工程文件與一個(gè)窗體文件分別進(jìn)行保存。注意文件的擴(kuò)展名,這是最容易出錯(cuò)的?。、菡{(diào)試程序代碼:,編寫的程序是否能正常工作?

第二章VisualBasic程序設(shè)計(jì)入門2.4V例2.4.1

程序的功能是:要求單擊“移動(dòng)”按鈕,文字自動(dòng)向右移動(dòng);單擊“停止”按鈕,文字停止運(yùn)動(dòng);單擊“結(jié)束”按鈕,結(jié)束程序。第二章VisualBasic程序設(shè)計(jì)入門例2.4.1程序的功能是:要求單擊“移動(dòng)”按鈕,文字自動(dòng)向第二章VisualBasic程序設(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)的處理。(分析下面的程序段)

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

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

第二章VisualBasic程序設(shè)計(jì)入門第二章VisualBasic程序設(shè)計(jì)入門2.5工程的創(chuàng)建與管理

2.5.1工程的構(gòu)成一個(gè)工程可能包括的文件類型如表2.5.1所示。第二章VisualBasic程序設(shè)計(jì)入門2.5工程第二章VisualBasic程序設(shè)計(jì)入門2.5.2工程管理

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

2、工程菜單中的相關(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è)模塊查詢?!肮ぞ摺辈藛巍斑x項(xiàng)”菜單項(xiàng)第二章VisualBasic程序設(shè)計(jì)入門2.5.2第三章窗體與常用控件

3.1通用屬性

了解VB標(biāo)準(zhǔn)控件的構(gòu)成原理、性質(zhì),掌握它們主要屬性、事件和方法,是學(xué)習(xí)VB程序設(shè)計(jì)的關(guān)鍵。

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

1.Name名稱屬性功能:在程序代碼中用于標(biāo)識(shí)對(duì)象的名稱。所有對(duì)象都有該屬性,在運(yùn)行狀態(tài)不能改變,是只讀的。第三章窗體與常用控件3.1通用屬性了解V

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

注意:初學(xué)者容易將Name屬性和Caption屬性混淆?。?!

3.Enabled有效性屬性功能:決定控件對(duì)象在運(yùn)行期間的有效性。

4.Visible可見(jiàn)性屬性功能:設(shè)置窗體或控件對(duì)象運(yùn)行時(shí)是否可見(jiàn)。2.Caption標(biāo)題屬性3.Enabl第三章窗體與常用控件

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

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

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

例3.1.1

Font屬性的設(shè)置舉例。在窗體上建立一個(gè)Label控件(名稱為L(zhǎng)abel1),單擊窗體,得到如圖的運(yùn)行結(jié)果。分析:窗體單擊出現(xiàn)運(yùn)行結(jié)果,因此事件驅(qū)動(dòng)過(guò)程應(yīng)選擇Form_Click()。

在窗體上添加一個(gè)Label控件,此例沒(méi)有改變?nèi)魏螌傩?,所以默認(rèn)名稱為L(zhǎng)abel1。程序代碼:PrivateSubForm_Click()'使Label1顯示為“VisualBasic6.0程序設(shè)計(jì)”

Label1.Caption="VisualBasic6.0程序設(shè)計(jì)"

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

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

Label1.FontItalic=True'設(shè)置Label1的字體為斜體

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

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

說(shuō)明: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è)空白窗體(默認(rèn)的窗體名稱為Form1),并以此作為創(chuàng)建應(yīng)用程序的起點(diǎn)。3.2.1窗體的屬性窗體除了具有通用屬性Name、Caption、Enabled、Visible、Height、Width、Top、Left、Font、ForeColor和BackColor外,還有自己獨(dú)特的屬性。第三章窗體與常用控件7.ForeColo第三章窗體與常用控件

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

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

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

4、Picture屬性功能:設(shè)置控件對(duì)象中顯示的圖形。默認(rèn)值為空,表示控件對(duì)象中無(wú)圖形。

5、WindowState屬性功能:窗體開始運(yùn)行時(shí)的初始顯示狀態(tài)。第三章窗體與常用控件1、MinButto第三章窗體與常用控件3.2.2、窗體事件

窗體事件是指窗體能夠響應(yīng)的動(dòng)作。最常用的有如下事件。

1、Click事件:?jiǎn)螕舸绑w,觸發(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)存(加載窗體),VB系統(tǒng)自動(dòng)觸發(fā)Load事件,此時(shí)窗體為不活動(dòng)窗體。Load事件一般用于在運(yùn)行程序時(shí)對(duì)屬性和變量進(jìn)行初始化。第三章窗體與常用控件3.2.2、窗體事件窗

例3.2.1

改變窗體屬性舉例。程序運(yùn)行開始時(shí),窗體中有一背景圖,每單擊窗體一次,窗體便縮小為當(dāng)前窗體的2/3。初始界面及單擊窗體一次后的結(jié)果如圖所示。

注:打開程序進(jìn)行分析事件和算法。

例3.2.1改變窗體屬性舉例。程序運(yùn)行開始時(shí),窗體第三章窗體與常用控件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ā)Resize事件。第三章窗體與常用控件4.Unload事件

例3.2.2

窗體事件的觸發(fā)舉例。程序代碼如下,當(dāng)運(yùn)行程序,單擊窗體,雙擊窗體后的結(jié)果如圖所示。注:打開程序進(jìn)行分析。7.MouseDown、MouseUp和MouseMove(鼠標(biāo))事件

窗體及大多數(shù)控件都能夠識(shí)別的MouseMove、MouseDown和MouseUp事件,通過(guò)響應(yīng)這些鼠標(biāo)事件,能對(duì)鼠標(biāo)位置及狀態(tài)的變化作出響應(yīng)。例3.2.2窗體事件的觸發(fā)舉例。程序代碼如下,當(dāng)運(yùn)行第三章窗體與常用控件

鼠標(biāo)事件格式

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

(1)Button參數(shù)表示按下或松開鼠標(biāo)某個(gè)按鈕時(shí),給出鼠標(biāo)按鍵的狀態(tài)。見(jiàn)教材:表3.2.1。

(2)Shift參數(shù)表示在Button參數(shù)指定的按鈕被按下或者被松開的情況下,鍵盤的Shift、Ctrl和Alt鍵的狀態(tài)。見(jiàn)教材:表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)行分析。第三章窗體與常用控件鼠標(biāo)事件格式參數(shù)分析第三章窗體與常用控件8.鍵盤事件:KeyDown、KeyUp和KeyPress事件。注意:必須是具有焦點(diǎn)的控件才可能觸發(fā)鍵盤操作的事件。PrivateSub對(duì)象名_KeyDown(KeyCodeAsInteger,ShiftAsInteger)

……EndSubPrivateSub對(duì)象名_KeyPress(KeyAsciiAsInteger)

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

例3.2.4

KeyPress事件舉例。運(yùn)行程序時(shí),按下某個(gè)字符鍵,在窗體上顯示KeyAscii值和對(duì)應(yīng)的按下的鍵名。運(yùn)行程序,當(dāng)在鍵盤上依次按下“A”、“y”、“7”和“<”鍵后的運(yùn)行結(jié)果如圖所示。注:打開程序進(jìn)行分析。例3.2.4KeyPress事件舉例。運(yù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本書中不作介紹。

說(shuō)明:

[對(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)之間無(wú)空格(緊湊格式)。如果在Print后面沒(méi)有跟任何[輸出項(xiàng)],則表示換行。

擴(kuò)展性說(shuō)明:①對(duì)于數(shù)值型表達(dá)式,輸出的數(shù)值尾部自動(dòng)加一個(gè)空格,頭部加一個(gè)符號(hào)位(正數(shù)為空格)。第三章窗體與常用控件3.3.3窗體方法窗體可調(diào)用第三章窗體與常用控件②如果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á)式的值按“格式字符串”指定的格式輸出。第三章窗體與常用控件②如果Print方法輸出第三章窗體與常用控件

例3.2.5

Print方法舉例。

打開例題對(duì)Print方法進(jìn)行說(shuō)明。具體說(shuō)明見(jià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ì)象的屬性值只能通過(guò)修改其屬性值來(lái)清除。3、Move方法格式:[對(duì)象名.]MoveLeft[,Top[,Width[,Height]]]

功能:移動(dòng)窗體或控件。Move方法有四個(gè)參數(shù),通過(guò)修改相應(yīng)的參數(shù),可以實(shí)現(xiàn)動(dòng)畫。四個(gè)參數(shù)中,Left為必要參數(shù),不能少;Top、Width、Height為可選參數(shù),若缺省,系統(tǒng)采用默認(rèn)值。第三章窗體與常用控件例3.2.5Prin第三章窗體與常用控件

例3.2.6

Move方法示例。在屏幕上移動(dòng)窗體,程序運(yùn)行時(shí),每單擊窗體一次,窗體向下移動(dòng)200Twip。分析:事件選擇窗體單擊Form_Click;下移Top坐標(biāo)增加。

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

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

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

標(biāo)簽控件主要用于顯示文字說(shuō)明信息及程序運(yùn)行的某些結(jié)果等。

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

(1)Alignment屬性功能:確定標(biāo)簽中顯示文本的對(duì)齊方式。該屬性值為0,表示左對(duì)齊(默認(rèn)值);為1,表示右對(duì)齊;為2,表示居中對(duì)齊。(2)BackStyle屬性功能:設(shè)置標(biāo)簽背景是否透明。該屬性值為0,表示透明,標(biāo)簽后的背景和圖形可見(jiàn);為1,表示不透明,標(biāo)簽后的背景和圖形不可見(jiàn)。(3)BorderStyle屬性功能:設(shè)置有無(wú)邊框。 該屬性值為0,表示無(wú)邊框(默認(rèn)值);為1,表示有邊框。(4)Autosize屬性功能:確定標(biāo)簽是否會(huì)隨標(biāo)題內(nèi)容自動(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)容。第三章窗體與常用控件(1)Alignment第三章窗體與常用控件2、標(biāo)簽的事件標(biāo)簽可以響應(yīng)許多事件,如常用的Click、DblClick等,用法與窗體的Click、DblClick事件類似,但很少用。

3、標(biāo)簽的方法標(biāo)簽擁有Move方法,用法與Form的Move方法相同。文本框主要用于在窗體中顯示和接收文本信息,也就是輸入輸出功能。1、文本框的屬性除具有通用屬性Name、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文本框控件第三章窗體與常用控件2、標(biāo)簽的事件文本框主要第三章窗體與常用控件

(6)Locked屬性:設(shè)置是否鎖定文本框中的內(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)單地說(shuō)焦點(diǎn)Focus就是光標(biāo),更詳細(xì)的概念稍后講。

例3.3.1

文本框輸入數(shù)據(jù)舉例。從文本框Text1中輸入半徑的值,單擊窗體,計(jì)算圓的周長(zhǎng)、圓的面積、球體的體積,并顯示在標(biāo)簽框中;如單擊文本框Text1,輸入另外的半徑值,則先清除原來(lái)的信息,再輸入。

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

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

程序代碼分析:

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

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

Text4.Text=L'在Text2中顯示被選定的文本的長(zhǎng)度

EndSub第三章窗體與常用控件例3.3.2文本框中選第三章窗體與常用控件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)。只有具有焦點(diǎn)的控件才能接收用戶從鍵盤輸入的文本。1)焦點(diǎn)事件

(1)GotFocus事件:當(dāng)控件獲得焦點(diǎn)時(shí)觸發(fā)GotFocus事件。格式:PrivateSub對(duì)象名_GotFocus()

……EndSub

(2)LostFocus事件:當(dāng)控件失去焦點(diǎn)時(shí),觸發(fā)LostFocus事件。格式:

PrivateSub對(duì)象名_LostFocus()

……EndSub

第三章窗體與常用控件3、文本框的方法3.3.第三章窗體與常用控件(3)SetFocus方法功能:設(shè)置某個(gè)控件獲得焦點(diǎn)。格式:<對(duì)象名.>SetFocus2、TabIndex屬性功能:設(shè)置或返回在容器中對(duì)象響應(yīng)Tab鍵的順序。改變TabIndex屬性的值,就可改變焦點(diǎn)。也就是按“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è)文本框中。第三章窗體與常用控件(3)SetFocus方法第三章窗體與常用控件程序分析:‘計(jì)算功能:

PrivateSubLabel1_Click()'單擊標(biāo)簽Label1,觸發(fā)該事件

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

EndSub

’清除功能:

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

Label1=""'清除計(jì)算結(jié)果

EndSub

‘焦點(diǎn)設(shè)置功能:

PrivateSubText1_KeyPress(KeyAsciiAsInteger)If

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

Text2.SetFocus'將另一個(gè)文本框設(shè)為焦點(diǎn)

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

命令按鈕是以按鈕的形式出現(xiàn)在窗體上,用鼠標(biāo)單擊命令按鈕,會(huì)觸發(fā)該命令按鈕的Click事件,進(jìn)而執(zhí)行Click事件過(guò)程中的代碼。1、屬性命令按鈕除具有通用屬性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屬性:設(shè)置默認(rèn)的確定按鈕。3.3.4命令按鈕控件第三章窗體與常用控件1、屬性(1)S第三章窗體與常用控件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鍵。第三章窗體與常用控件2、事件第三章窗體與常用控件

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

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

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

Label3=“歡迎”

&Text1&“登錄!”

'正確時(shí)顯示的信息

ElseLabel3=“用戶名或密碼錯(cuò)!請(qǐng)重新輸入”

'錯(cuò)誤時(shí)顯示的信息

Text1.SetFocus'移到焦點(diǎn)用戶名輸入框,為重新輸入做準(zhǔn)備

‘下兩行完成文本框內(nèi)容的選定,為重新輸入做準(zhǔn)備,為什么?

Text1.SelStart=0Text1.SelLength=Len(Text1)'Len()函數(shù)的值為Text1內(nèi)容的長(zhǎng)度

Text2=""'清除密碼框中的內(nèi)容

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

‘下兩行完成文本框內(nèi)容的選定,為輸入做準(zhǔn)備,有作用嗎?

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

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

復(fù)選框:Value=0,表示未被選定;Value=1,表示被選定,被選中項(xiàng)目左側(cè)小方框中會(huì)出現(xiàn)顯示√;Value=2,變?yōu)榛疑?,表示禁止用戶選擇。單選按鈕Value=True,表示被選定,圓圈中會(huì)出現(xiàn)一黑點(diǎn);Value=False,表示未被選定。

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

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

例3.3.5單選按鈕應(yīng)用示例。用戶界面如圖所示。用戶在“運(yùn)算數(shù)1”和“運(yùn)算數(shù)2”所對(duì)應(yīng)的文本框中輸入運(yùn)算數(shù),然后單擊運(yùn)算符的單選按鈕,就能在“運(yùn)算結(jié)果”所對(duì)應(yīng)的文本框中輸出運(yùn)算結(jié)果。第三章窗體與常用控件程序代碼分析(只分析除法,其它用第三章窗體與常用控件3.3.6框架控件框架為控件提供可標(biāo)識(shí)的分組,用于窗體上的對(duì)象分組??砂巡煌膶?duì)象放在一個(gè)框架中,使其在視覺(jué)上進(jìn)行區(qū)分,總體上被激活或被屏蔽??蚣芫哂腥萜鞴δ?。1)框架的屬性框架主要具有Name、Caption、Enabled、Visible、Height、Width、Top、Left、Font、ForeColor和BackColor等通用屬性。

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

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

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

Label1.FontName="宋體"'設(shè)置標(biāo)簽Label1的字體為:宋體

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

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

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

(2)AutoSize屬性(PictureBox):決定圖片框控件是否自動(dòng)調(diào)整以適應(yīng)圖片的大?。▓D片不變)。

(3)Stretch屬性(Image):決定圖片是否自動(dòng)調(diào)整以適應(yīng)圖像控件的大?。赡軙?huì)導(dǎo)致圖片變形)。

例3.3.7圖片框應(yīng)用舉例。單擊“裝入圖形(L)”按鈕,則將一圖形調(diào)入窗體中;單擊“交換圖片(E)”按鈕,則兩圖片進(jìn)行交換;單擊“結(jié)束(Q)”按鈕,則關(guān)閉窗體,結(jié)束程序的運(yùn)行。用戶界面如圖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()'結(jié)束

EndEndSub

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

3)圖片

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論