計算機等級考試二級VB基礎教程_第1頁
計算機等級考試二級VB基礎教程_第2頁
計算機等級考試二級VB基礎教程_第3頁
計算機等級考試二級VB基礎教程_第4頁
計算機等級考試二級VB基礎教程_第5頁
已閱讀5頁,還剩115頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

計算機等級考試二級VB基礎教程

1.1VisualBasic概述

1.VisualBasic是什么

VisualBasic(簡稱VB)是Microsoft公司開發(fā)的一種通用的基于對象的程序設

計語言。

“Visual”指的是開發(fā)圖形用戶界面(GUI)的方法一一不需編寫大量代碼去

描述界面元素的外觀和位置,而只要把預先建立的對象add到屏幕上的一點即可。

"Basic”指的是BASIC(BeginnersAll-PurposeSymbolicInstructionCode)

語言,一種在計算技術發(fā)展歷史上應用得最為廣泛的語言。VisualBasic在原有

BASIC語言的基礎上進一步發(fā)展,至今包含了數(shù)百條語句、函數(shù)及關鍵詞,其中很

多和WindowsGUI有直接關系。專業(yè)人員可以用VisualBasic實現(xiàn)其它任何

Windows編程語言的功能,而初學者只要掌握幾個關鍵詞就可以建立實用的應用程

序。VisualBasicScriptingEdition(VBScript)是廣泛使用的腳本語言,它是

VisualBasic語言的子集,可嵌入HTML語言中,用于網(wǎng)頁設計,如ASP(ActiveServer

Page)文件。

VB簡單易學,通用性強,用途廣泛。

2.VB的功能

VB可以用于可以開發(fā)多媒體、數(shù)據(jù)庫、網(wǎng)絡、圖形等方面的應用程序。

數(shù)據(jù)訪問特性允許對包括MicrosoftSQLServer和其它企業(yè)數(shù)據(jù)庫在內的大

部分數(shù)據(jù)庫格式建立數(shù)據(jù)庫和前端應用程序,以及可調整的服務器端部件。

有了ActiveX(TM)技術就可使用其它應用程序提供的功能,例如Microsoft

Word字處理器,MicrosoftExcel電子數(shù)據(jù)表及其它Windows應用程序。

Internet能力強大,很容易在應用程序內通過Internet或intranet訪問文

檔和應用程序,或者創(chuàng)建Internet服務器應用程序。

已完成的應用程序是使用VisualBasic虛擬機真正.exe文件,可以自由發(fā)布。

3.VB的發(fā)展

VB是伴隨Windows操作系統(tǒng)而發(fā)展的,在中國使用較廣的版本有VB4.0、VB5.0、

VB6.0。

VB4.0是為配合W1N95的問世于1995年推出的,既可用于編寫WIN3.X平臺的

16位應用程序也可編寫WIN95平臺的32位應用程序;VB5.0主要用于編寫WIN95平

臺的32位應用程序,較之VB4.0主要擴展了數(shù)據(jù)庫、ActiveX和Internet方面的功

能;VB6.0是與WIN98配合于1998年推出的,進一步加強了數(shù)據(jù)庫、Internet和創(chuàng)

建控件方面的功能。

4.VB中的幾個常用術語

工程(Project):是指用于創(chuàng)建一個應用程序的文件的集合。

對象(object):可控制的某個東西,VB中主要有兩類對象:窗體和控件。

窗體(form):應用程序的用戶界面,即windows。

控件(control):指的是各種按扭、標簽、文本框等。

屬性(property):是指對象的特性,如大小、標題或顏色。

ActiveX:ActiveX是基于componentobjectmodel(com)的可視化控件結構的商

標名稱.它是一種封裝技術,提供封裝COM組件并將其置入應用程序(如WEB瀏覽

器)的一種方法.

ComponentsObjectModel(COM):是軟件組件互相通訊的一種方式。它是一

種二進制和網(wǎng)絡標準,允許任意兩個組件互相通訊,而不管它們是在什么計算機上

運行(只要計算機是相連的),不管各計算機運行的是什么操作系統(tǒng)(只要該操作系統(tǒng)

支持COM),也不管該組件是用什么語言編寫的。

5.VB的系統(tǒng)特性

⑴工程限制

1)代碼限制:

可被加載到窗體、類或標準模塊的代碼總數(shù)限于65,534行。一行代碼限于

1023個字節(jié)。在一行中的實際文本之前最多只能有256個空格的前導,在一個邏

輯行中最多只能有25個續(xù)行符(一)。

2)過程、類型和變量

對每個模塊的過程數(shù)沒有限制。每個過程可包含至多64K的代碼。如果過程或

模塊超過這一限制,VisualBasic便產生編譯時間錯誤。如果遇到這種錯誤,可將

特別大的過程分割成若干個較小的過程,或將模塊級聲明移到另一模塊,來避免此

類錯誤發(fā)生。

VisualBasic用表來保存代碼中的標識符名(變量、過程、常量等)。每個表限

于64K。

3)動態(tài)鏈接庫聲明表

每個窗體和代碼模塊使用一個描述動態(tài)鏈接庫入口點的結構的表。每個結構約

40個字節(jié),表的大小限于64K,形成每個模塊大約有1500個聲明。

4)工程名表

整個應用程序用一張包含所有名稱的表。這些名稱包括:常量名、變量名、

自定義的類型定義名、模塊名、DLL過程聲明名。對工程名表總大小沒有限制,

但是區(qū)分大小寫的條目不得超過32K。如果超過了32K的限制,可以在不同的模塊

中重新使用private標識符以限制區(qū)分大小寫的條目數(shù)到達32K。

5)輸入表

在不同的模塊中每引用一個標識符,便在輸入表中創(chuàng)建一個條目。每一個這樣

的入口最小是24字節(jié),但限于64K,這樣每個模塊大約可以有2000個引用。

6)模塊條目表

該表中每個模塊最多達125個字節(jié),但有64K的總限制,這樣每個工程大約

可以產生400個模塊。VB中的變量名不多于255個字符,而窗體、控件、模塊和

類名不多于40個字符。

(2)工程文件格式

VB在創(chuàng)建和編譯工程時要產生許多文件,分為:設計時文件、雜項開發(fā)文件和

運行時文件。

設計時文件是工程的建造塊,例如基本模塊Cbas)和窗體模塊(.frm)。

雜項文件是由VisualBasic開發(fā)環(huán)境中的各種不同的進程和函數(shù)產生的,例

如打包和展開向導從屬文件(.dep)。

1.2VB6.0的集成開發(fā)環(huán)境簡介

VB集成開發(fā)環(huán)境(IDEIntegratedDevelopingEnvironment)由以下元

素組成:

1.標題欄

用于顯示正在開發(fā)或調試的工程名和系統(tǒng)的工作狀態(tài)(設計態(tài)、運行態(tài)、中止

態(tài))。

2菜單欄文件①)?輯⑥視圖9工程的格式Q)調試運行⑥查詢砥蹣9工具⑴外接程序⑥

用于顯示所使用的VisualBasic命令。VB6.0標準菜單包括:

3工具欄假[mTfB圈—>囪―營外艮蜀之o,o芷知g

在編程環(huán)境下用于快速訪問常用命令。缺省情況下,啟動VB后顯示“標準”工

具欄,附加的編輯、窗體設計和調試的工具欄可以從“視圖”菜單上的“工具欄”

命令中移進或移出..

4.窗體設計器

用來設計應用程序的界面。啟動VB后,窗體設計器中自動出現(xiàn)一個名為Forml

的空白窗體,可以在該窗體中添加控件、圖形和圖片等來創(chuàng)建所希望的外觀,窗體

的外觀設計好后,從菜單中選擇“文件”-“保存窗體”一在保存對話框中給出合

適的文件名(注意擴展名),并選擇所需的保存位置T確定。需要再設計另一個窗

體時,單擊工具欄上的“添加窗體”按鈕即可。

5.控件(工具)箱

由一組控件按鈕組成,用于設計時在窗體中放置控件。除了缺省的工具箱布局

之外,還可以通過從上下文菜單中選定“添加選項卡”并在結果選項卡中添加控件

來創(chuàng)建自定義布局。

6.彈出式(上下文)菜單

在要使用的對象上單擊鼠標右鍵即可打開快捷菜單,其上會出現(xiàn)與當前對象相

關的經(jīng)常執(zhí)行的操作,以加快操作速度。

7.工程管理器窗口

用于瀏覽工程中所包含的窗體和模塊,還可以從中查看代碼、查看對象。

8.屬性窗口

是VB中一個比較復雜的窗口,其中列出了對選定窗體和控件的屬性設置值。VB

中正是通過改變屬性來改變對象的特征,如大小、標題或顏色。

9.對象瀏覽器

列出工程中有效的對象,并提供在編碼中漫游的快速方法??梢允褂谩皩ο鬄g

覽器”瀏覽在VB中的對象和其它應用程序,查看對那些對象有效的方法和屬性,并

將代碼過程粘貼進自己的應用程序。

10.對象瀏覽器

右擊窗體中的對象、從工程管理器中點“查看代碼”按鈕。

11.窗體布局窗口

FormLayoutwindow允許使用表示屏幕的小圖象來布置應用程序中各窗體的位

置。

12.立即、本地和監(jiān)視窗口這些附加窗口是為調試應用程序提供的,它們只在IDE

之中運行應用程序時才有效。

1.3面向對象程序設計的基本概念

1.基本術語

(1)對象和對象類

對象是代碼和數(shù)據(jù)的組合,可以作為一個單位來處理。對象可以是應用程序的

一部分,比如可以是控件或窗體。整個應用程序也是一個對象。

VB中的每個對象都是用類定義的。用餅干模子和餅干之間的關系作比,就會明

白對象和它的類之間的關系。餅干模子是類。它確定了每塊餅干的特征,比如大小

和形狀。用類創(chuàng)建對象,對象就是餅干。類是面向對象程序設計的核心技術,可以理

解成一種定義了對象行為和外觀的模板;把對象看作是類的原原本本的復制品,

類具有繼承性、封裝性、多態(tài)性、抽象性。

(2)屬性

屬性是對對象特性的描述,VB為每一類對象都規(guī)定了若干屬性,設計中可以改

變具體對象的屬性值。比如窗體的背景顏色、高度與寬度。

(3)事件(Event)

事件是發(fā)生在對象上的動作。事件的發(fā)生不是隨意的,某些事件僅發(fā)生在某些

對象上。

在VB中事件的調用形式是:

PrivateSub對象名一事件名

(事件內容)

EndSub

(4)方法(Method)

方法指的是控制對象動作行為的方式。它是對象本身內含的函數(shù)或過程,它也

是一個動作,是一個簡單的不必知道細節(jié)的無法改變的事件,但不稱作事件;同樣,

方法也不是隨意的,一些對象有一些特定的方法。在VB里方法的調用形式是:

對象名?方法名

2.屬性、方法和事件之間的關系

VB對象具有屬性、方法和事件。屬性是描述對象的數(shù)據(jù);方法告訴對象應做的

事情;事件是對象所產生的事情,事件發(fā)生時可以編寫代碼進行處理。

VB的窗體和控件是具有自己的屬性、方法和事件的對象??梢园褜傩钥醋饕粋€

對象的性質,把方法看作對象的動作,把事件看作對象的響應。

日常生活中的對象,如小孩玩的氣球同樣具有屬性、方法和事件。氣球的屬性

包括可以看到的一些性質,如它的直徑和顏色。其它一些屬性描述氣球的狀態(tài)(充氣

的或未充氣的)或不可見的性質,如它的壽命。通過定義,所有氣球都具有這些屬性;

這些屬性也會因氣球的不同而不同。

氣球還具有本身所固有的方法和動作。如:充氣方法(用氮氣充滿氣球的動作),

放氣方法(排出氣球中的氣體)和上升方法(放手讓氣球飛走)。所有的氣球都具備這

些能力。

氣球還有預定義的對某些外部事件的響應。例如,氣球對刺破它的事件響應是

放氣,對放手事件的響應是升空。

在VB程序設計中,基本的設計機制就是:改變對象的屬性、使用對象的方法、

為對象事件編寫事件過程。程序設計時要做的工作就是決定應更改哪些屬性、調用

哪些方法、對哪些事件作出響應,從而得到希望的外觀和行為。

3.事件驅動模型

在傳統(tǒng)的或“過程化”的應用程序中,應用程序自身控制了執(zhí)行哪一部分代碼

和按何種順序執(zhí)行代碼。從第一行代碼執(zhí)行程序并按應用程序中預定的路徑執(zhí)行,

必要時調用過程。

在事件驅動的應用程序中,代碼不是按照預定的路徑執(zhí)行,而是在響應不同的

事件時執(zhí)行不同的代碼片段。事件可以由用戶操作觸發(fā)、也可以由來自操作系統(tǒng)或

其它應用程序的消息觸發(fā)、甚至由應用程序本身的消息觸發(fā)。這些事件的順序決定

了代碼執(zhí)行的順序,因此應用程序每次運行時所經(jīng)過的代碼的路徑都是不同的。

因為事件的順序是無法預測的,所以在代碼中必須對執(zhí)行時的“各種狀態(tài)”作一定

的假設。當作出某些假設時(例如,假設在運行來處理某一輸入字段的過程之前,該

輸入字段必須包含確定的值),應該組織好應用程序的結構,以確保該假設始終有效

(例如,在輸入字段中有值之前禁止使用啟動該處理過程的命令按鈕)。

在執(zhí)行中代碼也可以觸發(fā)事件。例如,在程序中改變文本框中的文本將引發(fā)文

本框的Change事件。如果Change事件中包含有代碼,則將導致該代碼的執(zhí)行。

如果原來假設該事件僅能由用戶的交互操作所觸發(fā),則可能會產生意料之外的結果。

正因為這一原因,所以在設計應用程序時理解事件驅動模型并牢記在心是非常重要

的。

4.交互式開發(fā)

傳統(tǒng)的應用程序開發(fā)過程可以分為三個明顯的步驟:編碼、編譯和測試代碼。

但是VisualBasic與傳統(tǒng)的語言不同,它使用交互式方法開發(fā)應用程序,使三個

步驟之間不再有明顯的界限。

VB在編程者輸入代碼時便進行解釋,即時捕獲并突出顯示大多數(shù)語法或拼寫錯

誤??雌饋砭拖笠晃粚<以诒O(jiān)視代碼的輸入。

除即時捕獲錯誤以外,VB也在輸入代碼時部分地編譯該代碼。當準備運行和測

試應用程序時,只需極短時間即可完成編譯。如果編譯器發(fā)現(xiàn)了錯誤,則將錯誤突

出顯示于代碼中。這時可以更正錯誤并繼續(xù)編譯,而不需從頭開始。

由于VB的交互特性,代碼運行的效果可以在開發(fā)時進行測試,而不必等到編譯

完成以后。

1.4利用VB開發(fā)應用程序的一般步驟

一個VB程序也稱為一個工程,由窗體、標準模塊、自定義控件及應用所需的環(huán)

境設置組成。開發(fā)步驟一般如下:

1.創(chuàng)建程序的用戶界面

2.設置界面上各個對象的屬性

3.編寫對象響應事件的程序代碼

4.保存工程

5.測試應用程序,排除錯誤

6.創(chuàng)建可執(zhí)行程序

2.1VB用戶界面設計基礎

1.概述

界面的設計有兩步:先繪制控件,然后確定控件屬性。

繪制控件:在工具箱里單擊想畫的控件,在窗體里按下鼠標并拖曳,然后松開

鼠標即可。確定屬性:先選中控件,然后按F4鍵或單擊工具欄上的屬性窗口進入屬

性(Properties)窗口,再在屬性窗口中找到要設置的屬性并進行設置。

2.常用屬性的設置

(1)Name屬性

對象都有名字,計算機把名字看成對象于對象之間的根本差異,因此在同一窗

體里不許出現(xiàn)重名的情況(除非這是一個控件數(shù)組),且名字不得超過40個字。

在簡單的程序里,給控件命名不是很必要,完全可以使用控件Name屬性的缺省

值。例如Textl。但在有幾十個控件的復雜窗體里,就很難區(qū)分它們。所以,VB推

薦由三個小寫字母的前綴和一個第一個字母為大寫的描述性單詞組成的名字。例如

cmdMyButton是一個命令按鈕(前綴是cmd)

(2)Caption屬性

Caption即標題,是可以在對象外觀上直接看見的文本,可以長達255字符,包

括空格和標點符號,比如一個叫cmdOk的命令鈕,它的Caption屬性就可以是“0k”。

注意:并不是所有的對象都有此屬性,比如文本框、圖片框、線條等就沒有。

為按鈕設置熱鍵:在設置Caption屬性時,在需要加下劃線的字母前加上

符號,例如“&File",輸出的就是“File",這樣就可以通過按ALT鍵和標題上

那個帶下劃線的字母來選取它了,不必為此編任何代碼。

Name和caption的比較:

1)Name是系統(tǒng)用來識別對象的,編程時需要用它來指代各對象;Caption是給

用戶看的,提示用戶該對象的作用;

2)Name可以采用系統(tǒng)默認的名稱,但Caption應該根據(jù)實際情況改成意義明了

的名詞;

3)所有對象都有Name,但不一定都有Caption;

(3)Top,Left屬性

這兩個屬性決定對象的位置。只有兩種情況需要在屬性窗口里設置這兩個屬性:

第一種是用戶沒有鼠標,第二種是程序員需要十分精確地設定這兩個值。當選中對

象,單擊并拖曳它的時候,便在修改這兩個值了。

(4)Height,Width屬性

這兩個屬性決定了對象的大小,當選中控件時,它周圍出現(xiàn)八個小黑方塊,把

鼠標指向這些方塊,鼠標指針將變成一個雙向的箭頭,這時按下鼠標并拖曳它,即

可改變控件的大小,也就改變了Height,Width屬性。

1.窗體的屬性

(1)設置屬性的方法

1)在設計態(tài)通過屬性窗口設置

直接在屬性窗口中選擇或輸入既可。

2)在程序代碼中改變屬性值

代碼中的格式為:對象名.屬性=屬性值

例:Forml.BackColor=RGB(255,0,0)

2,窗體的常用方法

(1)Hide方法

用以隱藏MDIForm或Form對象,但不能使其卸載。

語法:object.Hide

object所在處代表一個對象表達式,其值為“應用于”列表中的一個對象。如

果省略object,則帶有焦點的窗體就認為是該object。

說明:

隱藏窗體時,它就從屏幕上被刪除,并將其Visible屬性設置為False。用

戶將無法訪問隱藏窗體上的控件,但是對于運行中的VisualBasic應用程序,或

對于通過DDE與該應用程序通訊的進程及對于Timer控件的事件,隱藏窗體的控

件仍然是可用的。

窗體被隱藏時,用戶只有等到被隱藏窗體的事件過程的全部代碼執(zhí)行完后才能

夠與該應用程序交互。

如果調用Hide方法時窗體還沒有加載,那么Hide方法將加載該窗體但不顯

示它。

(2)Move方法

用以移動MDIForm,Form或控件。

語法:object.Moveleft,top,width,height

說明:只有l(wèi)eft參數(shù)是必須的。但是,要指定任何其它的參數(shù),必須先指定出現(xiàn)

在語法中該參數(shù)前面的全部參數(shù)。例如,如果不先指定left和top參數(shù),則無法

指定width參數(shù)。任何沒有指定的尾部的參數(shù)則保持不變。

(3)Print方法

在Immediate窗口中顯示文本。

語法:object?Print[outputlist]

Print方法的語法具有下列對象限定符和部分:

部分描述

Object必需的。對象表達式,其值為“應用于”列表中的對象。

output1ist可選的。要打印的表達式或表達式的列表。如果省略,

則打印一空白行。

outputlist參數(shù)具有以下語法和部分:

(Spc(n)ITab(n)}expressioncharpos

說明:

可以用空白或分號來分隔多個表達式。

對系統(tǒng)指定的國別設置,用小數(shù)點分隔符將所有打印到Immediate視窗的數(shù)據(jù)

正確格式化。關鍵字要用適用于主應用程序的語言輸出。

對于Boolean數(shù)據(jù),或者打印True或者打印False。根據(jù)主機應用程序的地

區(qū)設置來翻譯True和False關鍵字。

使用系統(tǒng)能識別的標準短日期格式書寫Date數(shù)據(jù)。當日期或時間部件丟失或

為零時,只書寫已提供的部件。

如果outputlist數(shù)據(jù)是Empty,則無內容可寫。但是,如果outputlist數(shù)

據(jù)是Null,則輸出NulL在輸出Null關鍵字時,要把關鍵字正確翻譯出來。

要把錯誤數(shù)據(jù)作為Errorerrorcode輸出。在輸出Error關鍵字時,要把關

鍵字正確翻譯出來。

如果在具有缺省顯示空間的模塊外使用此方法,則需要object。例如,如果沒

有指定對象就在標準模塊上調用此方法,則將導致錯誤發(fā)生,但是,如果在窗體模

塊上進行調用,則會在窗體上顯示“outputlist”。

注意:因為Print方法是按照字符比例進行打印,所以字符數(shù)與字符所占據(jù)

的寬度固定的列的數(shù)目無關。例如,像“W”這樣的寬字母占據(jù)的寬度超過一固定

列寬,而像"1"這樣的窄字母占據(jù)的寬度則較小。考慮到要使用比平均字符更寬的

空間,表列一定要留有足夠余地。另外,也可以使用固定間距的字體(像Courier字

體)來確保每一字符均只占一列。

(4)PrintFrom方法

用以將Form對象的圖象逐位發(fā)送給打印機。

語法:object.PrintForm

說明:PrintForm將打印Form對象的全部可見對象和位圖。在繪制圖形時,

如果AutoRedraw屬性為True,則在運行時PrintForm將打印Form對象或

PictureBox控件上的圖形。

PrintForm所使用的打印機是由操作系統(tǒng)的控制面板中的設置來決定。

(5)Refresh方法

強制全部重繪一個窗體或控件。

語法:object.Refresh

說明:在下列情況下使用Refresh方法:

在另一個窗體被加載時顯示一個窗體的全部。

更新諸如FileListBox控件之類的文件系統(tǒng)列表框的內容。

更新Data控件的數(shù)據(jù)結構。

Refresh方法不能用于MDI窗體,但能用于MDI子窗體。不能在Menu或

Timer控件上使用Refresh方法。

通常,如果沒有事件發(fā)生,窗體或控件的繪制是自動處理的。但是,有些情況

下希望窗體或控件立即更新。例如,如果使用文件列表框、目錄列表框或者驅動器

列表框顯示當前的目錄結構狀態(tài),當目錄結構發(fā)生變化時可以使用Refresh更新列

表。

可以在Data控件上使用Refresh方法來打開或重新打開數(shù)據(jù)庫(如果

DatabaseName,Readonly,Exclusive或Connect屬性的設置值發(fā)生改變),并能

重建控件的Recordset屬性內的dynaset.

(6)Show方法

用以顯示MDIForm或Form對象。

語法:object.Showstyle,ownerform

說明:

如果調用Show方法時指定的窗體沒有裝載,VisualBasic將自動裝載該窗體。

當Show在顯示無模式窗體時,隨后遇到的代碼則要執(zhí)行。當Show在顯示模

式窗體(moda1form)時,則隨后的代碼直到該窗體被隱藏或卸載時才能執(zhí)行。

當Show在顯示模式窗體時,除了模式窗體中的對象之外不能進行輸入(鍵盤

或鼠標單擊)。對其它窗體進行輸入前程序必須隱藏或卸載模式窗體(通常是處于

響應用戶某些操作狀態(tài))。MDIForm不能是形式的。

在模式窗體顯示時,雖然應用程序中的其它窗體失效,但其它應用程序不會失

效。

應用程序的啟動窗體在其Load事件調用后會自動出現(xiàn)。

下面的例子說明如何使用ownerform參數(shù):

PrivateSubcmdShowResults.Click()

'顯示模式窗體frmResults.

frmResults.ShowvbModal,Me

EndSub

(7)Cis方法

清除運行時Form或PictureBox所生成的圖形和文本。

語法:object.Cis

說明:

Cis將清除圖形和打印語句在運行時所產生的文本和圖形,而設計時在Form

中使用Picture屬性設置的背景位圖和放置的控件不受Cis影響。如果激活Cis

之前AutoRedraw屬性設置為False,調用時該屬性設置為True,則放置在Form

或PictureBox中的圖形和文本也不受影響。這就是說,通過對正在處理的對象的

AutoRedraw屬性進行操作,可以保持Form或PictureBox中的圖形和文本。

調用Cis之后,object的CurrentX和CurrentY屬性復位為0o

3.窗體的常用事件

⑴Load事件

這個事件發(fā)生在窗體被裝入內存時,且發(fā)生在窗體出現(xiàn)在屏幕之前。窗體出現(xiàn)

之前,VisualBasic會看一看Load事件里有沒有代碼,如果有,那么它先執(zhí)行這些

代碼,再讓窗體出現(xiàn)在屏幕上。

(2)Click事件,Dblclick事件

這兩個事件在單擊或雙擊窗體時發(fā)生。不過單擊窗體里的控件時,窗體的Click

事件并不會發(fā)生,VisualBasic會去看控件的Click事件里有沒有代碼。

(3)Activate(活動事件)與Deactivate(非活動事件)

顯示多個窗體時,可以從一個窗體切換到另一個窗體。每次激活一個窗體時,

發(fā)生Activate事件,而前一個窗體發(fā)生Deactivate事件。

(4)Resize事件

在窗體被改變大小時會觸發(fā)此事件。

4.窗體的控制

(1)裝入或卸出窗體

要裝入或卸出窗體,用Load或Unload語句。

裝入窗體:LoadforniName

卸出窗體:UnLoadforniName

FormName變量是要裝入或卸出的窗體名。Load語句只是把窗體裝入內存,并

不顯示出來,要顯示窗體可以使用窗體的Show方法。

(2)顯示或隱藏窗體

要顯示或隱藏窗體,用Show或Hide方法。若尚未裝入內存則先裝入再顯示。

顯示窗體:formName,showmode

隱藏窗體:formName.hide

FormName變量是窗體名,可選變元mode為0(缺省值)時窗體為非模態(tài),為1

時窗體為模態(tài)。模態(tài)窗體完全占有應用程序控制權,不允許切換到別的應用程序,

除非關閉!而非模態(tài)窗體則反之。

(3)END語句

END語句的功能是終止應用程序的執(zhí)行,并從內存卸在所有窗體。

語法是:END

1.窗體的屬性

(1)設置屬性的方法

1)在設計態(tài)通過屬性窗口設置

直接在屬性窗口中選擇或輸入既可。

2)在程序代碼中改變屬性值

代碼中的格式為:對象名.屬性=屬性值

例:Forml.BackColor=RGB(255,0,0)

2.窗體的常用方法

(1)Hide方法

用以隱藏MDIForm或Form對象,但不能使其卸載。

語法:object.Hide

object所在處代表一個對象表達式,其值為“應用于”列表中的一個對象。如

果省略object,則帶有焦點的窗體就認為是該object。

說明:

隱藏窗體時,它就從屏幕上被刪除,并將其Visible屬性設置為False。用

戶將無法訪問隱藏窗體上的控件,但是對于運行中的VisualBasic應用程序,或

對于通過DDE與該應用程序通訊的進程及對于Timer控件的事件,隱藏窗體的控

件仍然是可用的。

窗體被隱藏時,用戶只有等到被隱藏窗體的事件過程的全部代碼執(zhí)行完后才能

夠與該應用程序交互。

如果調用Hide方法時窗體還沒有加載,那么Hide方法將加載該窗體但不顯

不它。

(2)Move方法

用以移動MDIForm,Form或控件。

語法:object?Moveleft,top,width,height

Move方法的語法包含下列部分:

說明:只有l(wèi)eft參數(shù)是必須的。但是,要指定任何其它的參數(shù),必須先指定出現(xiàn)

在語法中該參數(shù)前面的全部參數(shù)。例如,如果不先指定left和top參數(shù),則無法

指定width參數(shù)。任何沒有指定的尾部的參數(shù)則保持不變。

(3)Print方法

在Immediate窗口中顯示文本。

語法:object?Print[output1ist]

Print方法的語法具有下列對象限定符和部分:

崎解

object弱用的.對象我達%其值為&應用于”列表中的對桑?

outputlist可選的.要打印的表達式或表達式的列表.如果省略,州打印一空

白行.

outputlist參數(shù)具有以下語法和部分:

{Spc(n)ITab(n))expressioncharpos

說明:

可以用空白或分號來分隔多個表達式。

對系統(tǒng)指定的國別設置,用小數(shù)點分隔符將所有打印到Immediate視窗的數(shù)據(jù)

正確格式化。關鍵字要用適用于主應用程序的語言輸出。

對于Boolean數(shù)據(jù),或者打印True或者打印False。根據(jù)主機應用程序的地

區(qū)設置來翻譯True和False關鍵字。

使用系統(tǒng)能識別的標準短日期格式書寫Date數(shù)據(jù)。當日期或時間部件丟失或

為零時,只書寫已提供的部件。

如果outputlist數(shù)據(jù)是Empty,則無內容可寫。但是,如果outputlist數(shù)

據(jù)是Null,則輸出NulL在輸出Null關鍵字時,要把關鍵字正確翻譯出來。

要把錯誤數(shù)據(jù)作為Errorerrorcode輸出。在輸出Error關鍵字時,要把關

鍵字正確翻譯出來。

如果在具有缺省顯示空間的模塊外使用此方法,則需要object。例如,如果沒

有指定對象就在標準模塊上調用此方法,則將導致錯誤發(fā)生,但是,如果在窗體模

塊上進行調用,則會在窗體上顯示“outputlist”。

注意:因為Print方法是按照字符比例進行打印,所以字符數(shù)與字符所占據(jù)

的寬度固定的列的數(shù)目無關。例如,像“W”這樣的寬字母占據(jù)的寬度超過一固定

列寬,而像"i"這樣的窄字母占據(jù)的寬度則較小??紤]到要使用比平均字符更寬的

空間,表列一定要留有足夠余地。另外,也可以使用固定間距的字體(像Courier字

體)來確保每一字符均只占一列。

(4)PrintFrom方法

用以將Form對象的圖象逐位發(fā)送給打印機。

語法:object.PrintForm

說明:PrintForm將打印Form對象的全部可見對象和位圖。在繪制圖形時,

如果AutoRedraw屬性為True,則在運行時PrintForm將打印Form對象或

PictureBox控件上的圖形。

PrintForm所使用的打印機是由操作系統(tǒng)的控制面板中的設置來決定。

2.3控件

1.常用控件介紹

(1)常用控件的屬性、方法和事件

公距桂CopticsEMbl?kFaRtsiw*Itoicht%.id=Top*

TAStap

公英雄RefredKS?tf?cur(iftKffjSL)

公共■中ClidsDblCludt%LostFocu*(央SflLA)

ComboBox組合框(將列表框和文本框結合在一起)

Style屬性

外觀屬性:取。時,系統(tǒng)創(chuàng)建一個帶下拉式列表框的組合框;為1時,系統(tǒng)創(chuàng)

建一個由文本框和列表框直接組合在一起的簡單組合框,可以從列表框中選擇,也

可以直接在文本框中輸入;為2時,系統(tǒng)創(chuàng)建一個沒有文本框的下拉式列表框,單

擊列表框上的按鈕才顯示文本框,用戶不能在文本框中輸入,只能在列表框中選擇。

Text屬性

其值為用戶從列表框中選定的文本或直接輸入的文本。

AddItem方法

添加列表項,使用格式:

[對象名?]Addltem<列表項文本》[,插入位置序號]

若不指定位置,則插入到列表末尾。

Clear方法

刪除列表所有項目

Removeitem方法

刪除列表項,使用格式:

[對象名.]Removeitem刪除項序號

CommandButton

命令按鈕

Cancel屬性

取消屬性,它為True時,按RESCH即等于單擊此按鈕。

Default屬性

缺省屬性,它為True時,按回車鍵即等于單擊此按鈕。

Timer計時器

Interval屬性

兩次調用Timer事件的事件間隔,用于創(chuàng)建動態(tài)效果。

Frame框架

CheckBox復選框

OptionButton選項按鈕

Alignment屬性

決定它們的對齊方式,0=左對齊,1=右對齊。

Value屬性

決定它們是否被選中的屬性

2.常用控件的使用辨析

(1)文本框和標簽的區(qū)別:

文本框通常用于向計算機輸入信息,而標簽通常用于輸出信息。文本框是一個十

分重要的控件,因為由復選框和選項按鈕向程序輸入的信息畢竟只有少數(shù)的幾條信

息而已。標簽和文本框的區(qū)別很小,標簽可以看成是一個在運行時不能修改正文的

文本框,因此標簽主要用于輸出信息。

(2)Label的AutoSize屬性和Wordwrap屬性

為了使標簽具有垂直伸展和字換行處理,必須設置它的AutoSize屬性和

Wordwrap屬性同時為True。

AutoSize屬性為False,Wordwrap屬性為False時,若標簽不夠高而Caption

太長時,Caption將被切割掉。

AutoSize屬性為False,Wordwrap屬性為True時,情況也如此。

AutoSize屬性為True,Wordwrap屬性為False時,表示可以水平伸展,但只顯

示一行信息。

(3)PictureBox和Image的Stretch屬性和AutoSize屬性

Image只有Stretch屬性,而PictureBox只有AutoSize屬性。

AutoSize屬性設為True,則PictureBox改變自己的大小來適應其中的圖形。

Stretch屬性設為True,則Image中的圖形將改變自己的大小來適應外面的邊

框。

(4)Frame框架、CheckBox復選框、OptionButton選項按鈕的區(qū)別:

復選框和選項按鈕用于向程序輸入信息,框架用來對復選框和選項按鈕進行分

組。

復選框選中時會在小方框里打一個鉤,選項按鈕選中時會在小圓圈里點一個點。

2.4定制菜單

1.菜單概述

Windows中的菜單一般由菜單條、菜單、菜單項、子菜單、彈出式菜單組成。

2.普通菜單的設計

(1)給菜單命名

菜單標題和菜單命令也有Caption和Name屬性,設置了這兩個屬性就等于創(chuàng)建

了菜單。Name是一個抽象名稱,Caption是屏幕上可見的,可在Caption里加入

來設置熱鍵。

(2)增加和刪除菜單

在MenuEditor中部有三個命令鈕分別是下一個、插入、刪除。插入可用來增

加新的菜單。在這三個鍵下面的Caption列表框里選中菜單項(這時它的底色就變

成深藍色),單擊插入鍵,VisualBasic將上一個增亮菜單下推并增亮一空行,就

可以輸入新菜單名和標題了。刪除鍵可用來刪掉菜單。選中要刪掉的菜單,單擊

Delete鍵就可以刪掉它了。

(3)移動菜單標題

有四種情況:向上移動,向下移動,向左縮排,向右縮排,選中某一菜單標題,

安上下箭頭,則這個菜單將上下移動到你喜歡的位置上,這也決定了它在界面中的

位置。如果按左右箭頭,情況則有所不同。由于菜單是分級的,所以,如果它沒有

縮排,則它是一個菜單標題;如果它縮排一次,那么它將變成一個菜單命令;如果

縮排兩次,那么它將成為一個子菜單命令。VB里可以總共設計四層子菜單。

(4)設置分離條

分離條是指在菜單中將命令分組的線,VB將分離條也看成一個菜單項,它也需

要Caption和Name屬性,而且也有其它屬性,分離條與菜單項的區(qū)別是分離條的

Caption屬性必須是連字號即減號。也就是,當設置了一個Caption屬性為"-"的

菜單項時,實際上就設置了一個分離條,分離條的名字可以是barFilel之類,以表

明分離條的位置。

(5)菜單的各種簡單屬性

在菜單編輯器里有許多確認框和一些文本框及一個下拉式的列表框,這些決定

了菜單的各種屬性。

1)Checked復選屬性

這個屬性值設置為真,將在菜單命令左邊產生一個打勾的確認標志。

2)Enabled有效屬性

各種各樣的用戶會產生千奇百怪的操作,在許多Edit菜單里都會有不同形式的讓

菜單命令模糊的情況。Enabled屬性為真,則菜單命令是清晰的,Enabled屬性為假,

則菜單命令是模糊的,這時用戶就不能選中這個菜單項了。

3)Visible可見屬性

對暫時不用的菜單,如果把Visible屬性設為假,則菜單根本不會出現(xiàn)在屏幕上。

這樣做比把Enabled屬性設為假顯得更加干脆!

4)Index屬性

可以生成菜單命令數(shù)組,用索引號區(qū)分開。例如向File菜單中添加一系列最近

打開的文件名。添加菜單可用Load方法。以上屬性可以在運行時設置,形成動態(tài)的

菜單的情況。

例如:

nmuUndo.Enabled=False

mnuProperty.Visible=FaIse

還可以改變Caption等屬性。

mnuUndo.Caption="Redo"

3.生成彈出式菜單(或浮動菜單)

幾乎每個Windows應用程序都提供彈出式菜單,用戶可以右鍵單擊窗體或控件

取得這個菜單。彈出式菜單也屬于普通菜單,只是不固定在窗體上,而是可以在任

何地方顯示。

彈出式菜單用PopupMenu方法調用。假設已經(jīng)用菜單編輯器生成了名為nmuedit

的菜單,則可以在MouseUp事件加入如下代碼就可以生成彈出式菜單:

IfButton=2ThenPopupMenumnuedit

2.5設計狀態(tài)條、工具欄、進程條等

1.創(chuàng)建狀態(tài)條

選中狀態(tài)條,按F4鍵進入屬性窗口,雙擊(Custom)可以進入主要的設置窗口

SBarCtrl屬性窗口。

(1)選擇面板形狀

在SBarCtrl屬性窗口里選擇General標簽,在Style列表框里選擇多面板(缺

省形式)或單面板簡單文本形式。

(2)添加或刪除狀態(tài)條面板

在SBarCtrl屬性窗口里選擇Panels標簽,單擊Insert按鈕添加一個面板,或

單擊Remove按鈕刪除一個面板。

(3)在單面板里顯示文本

在SBarCtrl屬性窗口里選擇General標簽,在SimpleText框里輸入想顯示在

狀態(tài)條面板里的文本。用代碼顯示的方式是:

StatusBarl.SimpleText="Newstringtoappear"

(4)在多面板里顯示文本或圖形

1).在SBarCtrl屬性窗口里選擇Panels標簽,用Index旁的按鈕選擇面板序

號。

2).在Text框里輸入想顯示在狀態(tài)條面板里的文本。

3),如果想加入圖形,單擊Browse按鈕打開一個圖形選擇對話框,選擇想加入

的圖形,然后單擊打開按鈕。

4).最后按確定按鈕。

5).用代碼顯示的方式是:StatusBarl.Panels(x).Text="Newstringto

appear"

6).編寫代碼

如果是一個單面板狀態(tài)條,當用戶單擊狀態(tài)條時,只需用下面的事件過程來響

應:

PrivateSubStatusBarl_Click()

EndSub

如果是一個多面板狀態(tài)條,就需要鑒別用戶單擊的是哪一個面板,可用下面的

事件過程來識別用戶所單擊的面板:

PrivateSubStatusBarl-Pane1C1ick(ByVaiPanelAsPanel)

SelectCasePanel.Index

Case1

'Codetofollowifuserclicksthefirstpanel

Case2

Codetofollowifuserclicksthesecondpanel

Case3

Codetofollowifuserclicksthethirdpanel

EndSelect

EndSub

2.創(chuàng)建工具欄

(1)建立工具條

1).在工具箱里單擊工具條圖標,拖到窗體的任何位置,VisualBasic自動將

ToolBar移到頂部。

2).按F4鍵打開屬性窗口。

3).雙擊(Custom),打開ToolBar屬性窗口。

4).選擇Buttons標簽。

5).單擊Insert按鈕,VisualBasic就會在你的工具條上顯示一個空按鈕,現(xiàn)

在為你的每一個按鈕重復這一步。

6).單擊確定按鈕。

如果想把按鈕分組,首先生成一個分隔的按鈕,再在剛才提到的對話框里將

這個按鈕的Style屬性改為3-Separator。

(2)為工具條增加圖畫

1).在VisualBasic工具箱里單擊ImageList圖標,并將它拖到窗體的任何位

置(位置不重要,因為它總是不可見的)。

2).按F4打開屬性窗口。

3).雙擊(Custom),打開ImageListCtr1屬性窗口。

4).選擇Image標簽。

5).單擊InsertPicture,在現(xiàn)在圖形的對話框里選擇想使用的位圖或圖標,

然后單擊打開按鈕。為每個想添加圖形的工具條按鈕重復此步。

6).單擊確定按鈕。

7).單擊工具條,按F4,雙擊(Custom),顯示ToolBar屬性對話框。

8).選擇General標簽,在ImageList框里選擇剛才添加的ImageList控件。

9).選擇Buttons標簽,單擊緊挨Index框的向左或向右箭頭以選擇一個按鈕

序號。出現(xiàn)在工具條最左邊的按鈕序號為L

10).在Image框里輸入一個數(shù),輸入為1,則顯示剛才ImageList控件里的第

一個圖形,輸入為2,則顯示剛才ImageList控件里的第二個圖形。

11).為每個按鈕重復第10步。

12).單擊確定按鈕,現(xiàn)在VisualBasic就會在工具條上顯示精美的圖形了。

2.6VisualBasic的輸入機制

程序的基本操作就是數(shù)據(jù)的輸入,數(shù)據(jù)處理和數(shù)據(jù)的輸出。VisualBasic可中

用于輸入的控件主要有:文本框TextBox、復選框CheckBox、選項按鈕Option

Button,列表框ListBox、組合框ComboBox、滾動條ScrollBar、通用對話框控

件。還有一個函數(shù)叫InputBox函數(shù),也可用于數(shù)據(jù)的輸入。

1.通過文本框輸入數(shù)據(jù)

只要取得文本框的Text屬性就可以對其進行操作了。下面的代碼可將Textl文

本框的正文變成大寫輸出至Text2文本框。

PrivateSubForni-Click()

Text2.Text=UCase(Textl.Text)

EndSub

2.通過復選框和選項按鈕輸入數(shù)據(jù)

只要檢測到CheckBox和RadioButton的Value屬性值就可以知道它們是否被

選上了。

3.通過列表框和組合框輸入數(shù)據(jù)

(1)列表框ListBox和組合框ComboBox的不同

它們在Windows的Open,SaveAs對話框里最為常見。組合框又包括三種類型,

這三種類型要在它的Style屬性里設置。列表框僅僅把可以選擇的項目列出來,而

組合框里有的類型可以允許用戶輸入數(shù)據(jù)。

(2)列表項目的增減

使用Additem,Removeitem語句可以增減列表項目。通常將項目增減的語句放入

Form-Load事件里。

ListBoxName.AddItemitem

ComboBoxName.AddItemitem

item是新項目名稱,必須是字符串類型,非字符串類型可通過Str函數(shù)或Format

函數(shù)來轉換。轉列表框,組合框的每一項目都有一個Index值,第一個項目的Index

值是0,第二個是1,依此類推。刪除項目可通過刪除其Index值來實現(xiàn)。

ListBoxName.RemoveItemitem

ComboBoxName.Removeitemitem

如:ListBoxName.Removeitem0則刪除了第一項,這時原來的第二項就變成了

第一項。

可以在設計階段設定列表項目,方法是:

在屬性窗口選擇List屬性,將出現(xiàn)一個下拉列表,在列表中輸入第一項,按

Ctrl+Enter,輸入第二項...,最后用Enter結束。

(3)取得列表框/組合框的數(shù)據(jù)

可以通過取得Text屬性或通過取得Listindex屬性來判斷哪一項被選擇了。

Listindex屬性的值也同樣是第一個為0,第二個為1……如:

IfListl.Text="VisualBasic"ThenInstructions

IfListl.Listindex=1ThenInstructions

組合框有時允許用戶自己輸入數(shù)據(jù),這時所輸入數(shù)據(jù)的Listindex值為-1。

4.通過滾動條ScrollBar取得數(shù)據(jù)

在VisualBasic的工具箱里有兩種滾動條:一種是垂直的,一種是水平的,它

們的差異無非是擺放的方向不一樣。

(1)滾動條的主要屬性及事件

1)Min,Max屬性

Min屬性決定滾動條最左端或最頂端所代表的值。Max屬性決定滾動條最右端或

最下端所代表的值。

2)LargeChange,SmalIChange屬性

Smal1Change決定在滾動條兩端的箭頭鈕上單擊時改變的值。LargeChange決定

在滑塊上方或下方區(qū)域單擊時改變的值。

3)Value屬性

Value屬性代表當前滑塊所處位置的值,這個值由滑塊的相對位置決定。

4)Change事件

當滑塊位置發(fā)生變化時就引發(fā)了Change事件。

(2)取得滾動條的數(shù)據(jù)

滾動條并不是一個數(shù)據(jù)輸入的好控件,因為無法從滾動條上直接看出輸入的數(shù)

據(jù),但它的優(yōu)點是可以表示一定范圍里的相對位置。為了得到數(shù)據(jù),只要取得滾動

條的Value屬性就可以了。

5.InputBox函數(shù)

InputBox函數(shù)提供一個簡單的對話框供用戶輸入信息。在把其它版本的BASIC

程序移植到VisualBasic時,InputBox函數(shù)通常用來代替INPUT語句。這個對話框

的樣子基本上是上面的樣子。

它的完整語法是:x=InputBox(prompt,title,default,xpos,ypos,

helpfile,context)

其中,prompt是提示的字符串,這個參數(shù)是必須的。title是對話框的標題,是

可選的。default是文本框里的缺省值,也是可選的。xpos,ypos決定輸入框的位

置。helpfile,context用于顯示與該框相關的幫助屏幕。返回值x將是用戶在文

本框里輸入的數(shù)據(jù),x是一個字符串類型的值。如果用戶按了Cancel鈕,則x將為

空字符串。

2.7VisualBasic的輸出機制

作為輸出的對象,VisualBasic提供了標簽,文本框,窗體,圖片框(Picture

Box)等用于輸出,而且VisualBasic里也有一堆命令、屬性涉及信息的輸出,較

常用的有:MsgBox函數(shù),Print方法,Cis方法,Tab函數(shù),F(xiàn)ormat函數(shù),F(xiàn)ontName,

FontSize,FontBold,FontItaiic,FontStrikethru,FontUnder1ine屬性,CurrentX,

CurrentY屬性等。

1.通過MsgBox函數(shù)輸出

了解Windows應用程序的人都知道當用戶操作錯誤時,應用程序往往打出一個

消息框來提示用戶的錯誤,象這樣:

DimActionAsInteger

Action=MsgBox("單擊確定鍵將引爆此計算機!",vbYesNo+vbCritical+

vbDefaultButton2,"警告!")

IfAction=6ThenExplode

這個功能在VisualBasic里是通過MsgBox函數(shù)來實現(xiàn)的,這樣程序員就不必

自己去畫一個消息框了。語法是:

Action=MsgBox(msg,type,title)

其中,msg是消息的內容,是一個字符串型的變量,type及title參數(shù)是可以

省略的,type參數(shù)指定顯示的按鈕是什么及使用什么樣的圖標(這個參數(shù)往往讓新

程序員思考幾分鐘),title參數(shù)指定消息框的標題。type參數(shù)的含義是:

例如:Action=MsgBox("Areyougirl?",vbYesNo+vbQuestio"Question").

使用這個函數(shù)時VisualBasic將產生一個標題為Question,具有問號和Yes,No按

鈕的消息框。作為一個函數(shù),本質上還是要返回值的,MsgBox的返回值確定了用戶

的選擇,程序可根據(jù)返回值做出相應的動作。

2.Print方法,Cis方法,Tab函數(shù)

(1)Print方法

Print方法的語法是:object.Printexpressionlist

object表示Print作用的對象,比如是Form或者是PictureBox,object是可

以省略的,省略時的Print往往在窗體上輸出。expressionlist是輸出的內容,允

許許多項數(shù)據(jù)的輸出,在數(shù)據(jù)間可以加入或“;"。加入分號將使下一數(shù)據(jù)項

緊挨著上一數(shù)據(jù)項輸出。而加入逗號,則VisualBasic將下一數(shù)據(jù)項在下一打印區(qū)

輸出,其實就是空了幾個空格后再輸出。兩個打印區(qū)之間有14個字符的寬度,其實

這也很難衡量,比如1

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論