




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、Visual Basic.NET程序設(shè)計(jì)與應(yīng)用1.1 .NET Framework簡介1.2 Visual Studio.NET的安裝1.3 Visual Studio集成開發(fā)環(huán)境1.4 創(chuàng)建一個(gè)簡單的Windows應(yīng)用程序項(xiàng)目1.5 面向?qū)ο蟪绦蛟O(shè)計(jì)的基本概念窗體及常用控件1.6 窗體及常用控件1.7 應(yīng)用程序開發(fā)步驟第1章 .NET Framework概述 第1章 .NET Framework概述知識(shí)點(diǎn):Visual Studio.NET安裝Visual Studio.NET集成開發(fā)環(huán)境面向?qū)ο蟪绦蛟O(shè)計(jì)的基本概念一個(gè)簡單的Windows 應(yīng)用程序的創(chuàng)建步驟Visual Studio.NET
2、可構(gòu)建復(fù)雜的企業(yè)級應(yīng)用程序,并在最小的設(shè)備上部署應(yīng)用程序。VisualStudio.NET和Microsoft Windows.NET Framework提供了一個(gè)強(qiáng)大、完善的端到端工具,用以設(shè)計(jì)、開發(fā)、調(diào)試和部署。1 .NET Framework簡介NET Framework是一種用于構(gòu)建、部署和運(yùn)行XML Web Services 及應(yīng)用程序的平臺(tái)。.NET Framework 的2.0版隨Visual Studio 2005一起提供,它通過公共語言規(guī)范,提供效率極高的、基于標(biāo)準(zhǔn)的多語言環(huán)境。作為整個(gè)開發(fā)框架的基礎(chǔ),.NET Framework 具有兩個(gè)主要組件:公共語言運(yùn)行(環(huán)境)庫和.
3、NET Framework 類庫集。公共語言運(yùn)行庫是NET Framework 的基礎(chǔ),它管理內(nèi)存、線程執(zhí)行、代碼執(zhí)行、代碼安全驗(yàn)證、編譯以及其他系統(tǒng)服務(wù)。這些功能是在公共語言運(yùn)行庫上運(yùn)行的托管代碼所固有的??梢詫⑦\(yùn)行庫看作一個(gè)在執(zhí)行時(shí)管理代碼的代理,而且還強(qiáng)制實(shí)施嚴(yán)格的類型安全以及可確保安全性和可靠性的其他形式的代碼準(zhǔn)則。以運(yùn)行庫為目標(biāo)的代碼稱為托管代碼,而不以運(yùn)行庫為目標(biāo)的代碼稱為非托管代碼。.NET Framework 的另一個(gè)主要組件是類庫集,它是一個(gè)綜合性的面向?qū)ο蟮目芍赜妙愋图?,該類庫是面向?qū)ο蟮?,并提供從托管代碼中導(dǎo)出功能的類型,可以使用它開發(fā)多種應(yīng)用程序,這些應(yīng)用程序包括傳統(tǒng)
4、的命令行或圖形用戶界面(GUI)應(yīng)用程序,也包括基于ASP.NET所提供的最新的應(yīng)用程序。 .NET Framework 可由非托管組件承載,這些組件將公共語言運(yùn)行庫加載到它們自己的進(jìn)程中并啟動(dòng)托管代碼的執(zhí)行,從而創(chuàng)建一個(gè)可以同時(shí)利用托管和非托管功能的軟件環(huán)境。在開發(fā)技術(shù)方面,.NET提供了基于Web的應(yīng)用開發(fā)技術(shù)ASP.NET和Windows編程技術(shù),他們都可以通過全新的ADO.NET技術(shù)實(shí)現(xiàn)數(shù)據(jù)庫的訪問。在開發(fā)語言方面,.NET提供了Visual Basic、Visual C+、Visual C# 和Visual J# 等多種語言支持,這些語言都嚴(yán)格遵守公共語言規(guī)范(Common Lang
5、uage Specification)。而VisualStudio.NET則是全面支持.NET的開發(fā)工具,如圖 1-1所示。 在NET Framework 環(huán)境中,不同的開發(fā)人員可以在使用自己選擇的語言進(jìn)行開發(fā)的同時(shí)實(shí)現(xiàn)無縫的合作。Windows窗體類是一組綜合性的可重用的類型,它們大大簡化了Windows Forms 應(yīng)用程序的開發(fā)。如果要編寫ASP.NET Web窗體應(yīng)用程序,可使用Web窗體類。.NET Framework 架構(gòu)公共語言運(yùn)行環(huán)境(CLR)基類庫(Base Class Library)數(shù)據(jù)訪問對象技術(shù) ADO.NET and XML ASP.NET Web窗體應(yīng)用程序 Wi
6、ndows編程技術(shù) 公共語言規(guī)范(Common Language Specification)VBC+C#J#Visual Studio.NET圖1-1 .NET開發(fā)框架圖 1.2 Visual Studio.NET的安裝1.2.1 系統(tǒng)要求Visual Studio.NET 2005的不同安裝選項(xiàng)如表1-1所示。 表1-1 安裝Visual Studio .NET 2005時(shí)的系統(tǒng)要求(略) 。 1.2.2 Visual Studio安裝安裝Visual Studio2005的發(fā)布版本時(shí)可以參考位于安裝光盤(CD 或 DVD)根目錄下的自述文件。該文件包含有關(guān)Visual Studio .N
7、ET中所有產(chǎn)品的安裝問題的詳細(xì)信息。 本地安裝(1)關(guān)閉所有打開的應(yīng)用程序,以免安裝過程中系統(tǒng)重啟時(shí)丟失數(shù)據(jù)。(2)插入標(biāo)有“Visual Studio 2005 CD1”的光盤。自動(dòng)運(yùn)行功能將啟動(dòng)Setup.exe。(3)單擊安裝界面中的“安裝Visual Studio 2005”,此時(shí),安裝程序?qū)呙璐疟P,查找已安裝的組件。如果掃描過程確定系統(tǒng)需要系統(tǒng)必備組件,“安裝程序”對話框?qū)?huì)提供必備的組件清單 (4)更新系統(tǒng)組件后,系統(tǒng)已有必備組件,可單擊“安裝程序”按鈕提示安裝。(5)Visual Studio 2005安裝完成后,單擊圖1-2 中的“安裝產(chǎn)品文檔”,開始安裝MSDN Libra
8、ry。MSDN Library 2005可以單獨(dú)使用,也可與 Visual Studio 2005 一起使用,它為 Visual Studio 2005和其他 Microsoft 技術(shù)提供了大量的示例及幫助文檔,為學(xué)習(xí)Visual Studio 2005提供了極大的方便。Visual Studio 2005 的本地安裝除了可以從CD或DVD中運(yùn)行外,還可以將Visual Studio 2005的CD或DVD的內(nèi)容全部復(fù)制到一個(gè)新文件夾中(例如VS2005),然后再運(yùn)行該文件夾中的Setup.exe,如上述步驟完成Visual Studio 2005的本地安裝。 2. 通過網(wǎng)絡(luò)進(jìn)行安裝Visua
9、l Studio 2005 安裝程序除了可以本地安裝外,還可以從網(wǎng)絡(luò)共享中安裝。以下過程說明如何準(zhǔn)備從網(wǎng)絡(luò)共享安裝Visual Studio 2005。雖然該過程提到的是Visual Studio 2005 CD,但其步驟與DVD相同。(1)在服務(wù)器上創(chuàng)建一個(gè)文件夾(例如 VS2005)。(2)該文件夾中創(chuàng)建兩個(gè)子文件夾,分別叫做VS 和MSDN。例如:VS2005VS VS2005MSDN。(3)將Visual Studio 2005 CD的內(nèi)容復(fù)制到VS2005VS文件夾中。如果系統(tǒng)提示您是否改寫任何現(xiàn)有文件,請選擇“是”。(4)將標(biāo)記為“MSDN Library for Visual S
10、tudio 2005”的所有CD的內(nèi)容復(fù)制到MSDN子文件夾。如果系統(tǒng)提示您是否改寫任何現(xiàn)有文件,請選擇“是”。(5)使用文本編輯器(如“記事本”)打開VS子文件夾中的 Setup.ini。(6)在Documentation節(jié)中,對以“DIR=”開頭的行進(jìn)行以下更改:Documentation DIR=.MSDN (7)保存所做的更改,然后關(guān)閉該文件。(8)在VS子文件夾中,打開Setup文件夾。(9)在文本編輯器(如“記事本”)中打開 setup.sdb,然后在文件的末尾添加下面幾行:Product Key XXXXX XXXXX XXXXX XXXXX XXXXX 保存所做的更改,然后關(guān)閉
11、該文件。完成此步驟可以為要從網(wǎng)絡(luò)共享安裝的用戶預(yù)先填寫產(chǎn)品密鑰。(10)在網(wǎng)絡(luò)上共享VS2005文件夾并進(jìn)行相應(yīng)的安全設(shè)置。 1.3 Visual Studio集成開發(fā)環(huán)境Microsoft Visual Studio(簡稱VS.NET)是一套完整的開發(fā)工具,是一個(gè)集成開發(fā)環(huán)境(Integrated Development Environment,簡稱IDE),用于生成Windows應(yīng)用程序、ASP.NET Web應(yīng)用程序、XML Web Services和移動(dòng)應(yīng)用程序。其中包含的Visual Basic.NET(簡稱VB.NET)、Visual C+.NET、Visual C#.NET等,全
12、都使用相同的集成開發(fā)環(huán)境,該環(huán)境允許它們共享工具并有助于創(chuàng)建混合語言解決方案。Visual Basic.NET是NET Framework的支柱,同時(shí)更是語言演變過程中的又一個(gè)里程碑式的進(jìn)步。對NET Framework而言,它是一種高級的編程語言,并為.NET提供了最方便的入口點(diǎn)。.NET Framework統(tǒng)一了微軟各種不同的框架。其體系內(nèi)的各種語言,如Visual Basic.NET、C+、C#等,除了語法上的差異外,其調(diào)用的類庫都是相同的。作為公共語言運(yùn)行環(huán)境的強(qiáng)制標(biāo)準(zhǔn),所有的語言必須支持相同的數(shù)據(jù)類型。這就結(jié)束了不同編程語言中數(shù)據(jù)類型互不兼容的狀況。 1.3.1 新建、打開一個(gè)VB.
13、NET項(xiàng)目 在啟動(dòng)VB.NET之前要啟動(dòng)整個(gè)Visual Studio 2005集成開發(fā)環(huán)境(IDE)。執(zhí)行Windows【開始】|【所有程序】|【Microsoft Visual Studio.NET 2005】|【Microsoft Visual Studio.NET2005】命令后,進(jìn)入Visual Studio.NET的起始頁,如圖1-4所示。 在“起始頁”中單擊左下部的“新建項(xiàng)目”按鈕,將彈出如圖1-5所示的“新建項(xiàng)目”對話框。 圖1-4 Microsoft Visual Studio.NET起始頁圖1-5 “新建項(xiàng)目”對話框在“新建項(xiàng)目”對話框的“項(xiàng)目類型”選擇欄中,選擇Visua
14、l Basic下的Windows項(xiàng)目,在“模板”選擇欄中選擇Windows應(yīng)用程序模板,用默認(rèn)項(xiàng)目名稱(或改名)后,單擊“確定”按鈕,將出現(xiàn)基于VB.NET的Windows應(yīng)用程序集成開發(fā)環(huán)境,如圖1-6所示的是Form1窗體設(shè)計(jì)頁面。 圖1-6 基于VB.NET的Windows應(yīng)用程序集成開發(fā)環(huán)境 在該集成開發(fā)環(huán)境中,可通過“起始頁”選項(xiàng)卡方便地轉(zhuǎn)到其他項(xiàng)目中,如圖1-7所示。圖1-7 基于VB.NET的Windows應(yīng)用程序集成開發(fā)環(huán)境在VB.NET中,“打開”項(xiàng)目意味著打開一個(gè)已經(jīng)存在的項(xiàng)目,Visual Studio 2005中有3種打開方式:單擊“最近的項(xiàng)目”子頁中選已列出的項(xiàng)目名,
15、這種方式最快速、方便。單擊“最近的項(xiàng)目”子頁中下部的“打開”命令按鈕,將彈出“打開項(xiàng)目”對話框,選擇需要打開的項(xiàng)目。在IDE中選擇執(zhí)行【文件】|【打開】|【項(xiàng)目】命令,將彈出“打開項(xiàng)目”對話框,選擇需要打開的項(xiàng)目。 1.3.2 Visual Basic.NET IDE簡介IDE是在一個(gè)公共環(huán)境中,集成了編輯、設(shè)計(jì)和調(diào)試等多種功能,從而為開發(fā)人員快速、方便地開發(fā)應(yīng)用程序提供了強(qiáng)有力的支持。主要包括菜單、工具欄和一些窗口。菜單和工具欄菜單和工具欄位于IDE的上部。通過選擇菜單選項(xiàng)或單擊工具欄的圖標(biāo)按鈕來執(zhí)行相關(guān)的命令。通常,工具欄的圖標(biāo)按鈕的功能,在菜單中都可以找到,之所以采用工具欄是為了方便操作
16、。 工具箱窗口當(dāng)設(shè)計(jì)和修改解決方案的用戶界面時(shí),可通過工具箱窗口向窗體添加控件,在默認(rèn)情況下,工具箱窗口是處于折疊狀態(tài),當(dāng)光標(biāo)掃過其圖標(biāo)時(shí),會(huì)自動(dòng)展開。工具箱窗口根據(jù)控件的不同用途分為10個(gè)選項(xiàng)卡,如圖1-8所示,可根據(jù)用途單擊相應(yīng)的選項(xiàng)卡,選擇需要的控件。開發(fā)環(huán)境的主窗口在IDE的中部是開發(fā)環(huán)境的主窗口,用來顯示指定的窗口,如創(chuàng)建GUI的窗體窗口、代碼設(shè)計(jì)器窗口及幫助信息顯示窗口等??赏ㄟ^主窗口上部的選項(xiàng)卡(如圖1-9的上部)指定要顯示的窗口。窗體是一小塊屏幕區(qū)域,通常為矩形,可用來向用戶顯示信息并接受用戶的輸入。定義窗體的用戶界面的最簡單方法是將控件放在其表面上,如圖1-10所示。在應(yīng)用程
17、序窗體上雙擊即可打開如圖1-9所示的代碼窗口,可以通過代碼設(shè)計(jì)器窗口編寫窗體中對象的事件代碼。 圖1-8 工具箱窗口 圖1-9 代碼設(shè)計(jì)器窗口 圖1-10 窗體窗口 屬性窗口及解決方案資源管理器窗口屬性窗口列出了窗體或控件的屬性,可以通過屬性窗口對控件的屬性值進(jìn)行修改,如圖1-11所示。解決方案資源管理器窗口顯示項(xiàng)目中的所有文件,如圖1-12所示。 圖1-11 屬性窗口 圖1-12 解決方案資源管理器窗口 任務(wù)、錯(cuò)誤列表窗口任務(wù)列表窗口能幫助開發(fā)人員對創(chuàng)建應(yīng)用程序的工作進(jìn)行組織和管理。如IDE能對代碼設(shè)計(jì)器窗口中所編代碼的語法進(jìn)行實(shí)時(shí)偵測,并將發(fā)現(xiàn)的錯(cuò)誤通過錯(cuò)誤列表窗口告之:代碼文件名、在文件
18、中的位置(行號)及錯(cuò)誤說明 。命令窗口與即時(shí)窗口“命令”窗口用于直接在Visual Studio集成開發(fā)環(huán)境(IDE)中執(zhí)行命令或別名??梢詧?zhí)行菜單命令和不在任何菜單上顯示的命令。若要顯示“命令”窗口,請從“視圖”菜單中選擇“其他窗口”,再選擇“命令窗口”。別名可縮短執(zhí)行命令所需的文本,提供一種將命令輸入到“命令”窗口中的方法。如在“命令”窗口中鍵入 alias 可顯示當(dāng)前別名及其定義的列表。鍵入 cls 可清除“命令”窗口中的內(nèi)容。即時(shí)窗口可以在中斷模式下用于調(diào)試用途、計(jì)算表達(dá)式、執(zhí)行語句、輸出變量值等。在進(jìn)行調(diào)試應(yīng)用程序、執(zhí)行函數(shù)和語句等操作時(shí),可使用即時(shí)模式查看并更改變量的值。在即時(shí)窗口
19、中,沒有“?”時(shí),語句childCount =2 作為賦值語句執(zhí)行,而有“?”時(shí),語句childCount =2是作為比較運(yùn)算執(zhí)行。此外,還有顯示開發(fā)環(huán)境中運(yùn)行信息和調(diào)試信息的輸出窗口等,在此不一一列出,需要時(shí)可參考Microsoft MSDN。同時(shí)需要說明的是,根據(jù)創(chuàng)建程序的類型和窗口設(shè)置的不同,集成開發(fā)環(huán)境中的窗口也會(huì)有一些不同,但操作方法基本一致。 1.4 創(chuàng)建一個(gè)簡單的Windows應(yīng)用程序項(xiàng)目涉及Windows窗體的大多數(shù)解決方案的基礎(chǔ)是Windows應(yīng)用程序項(xiàng)目。在IDE中,創(chuàng)建一個(gè)簡單的Windows應(yīng)用程序項(xiàng)目是件很輕松的事情。 1.4.1 創(chuàng)建Windows應(yīng)用程序界面創(chuàng)建W
20、indows應(yīng)用程序界面的步驟如下:(1)啟動(dòng)Visual Studio.NET集成開發(fā)環(huán)境。(2)創(chuàng)建名為“HelloWorld”的 Windows 應(yīng)用程序。(3)在【文件】菜單上執(zhí)行【新建】,然后選擇“項(xiàng)目”(或按1.3.1節(jié)介紹的方法建項(xiàng)目)。 (4)在【項(xiàng)目類型】窗格中,選擇【Visual Basic】下的“Windows”項(xiàng)。 (5)在【模板】窗格中,選擇“Windows 應(yīng)用程序”模板。(6)將一個(gè) Button 控件和一個(gè)Label控件從【工具箱】的【公共控件】選項(xiàng)卡中拖動(dòng)到窗體上。(7)單擊設(shè)計(jì)窗體上的Button按鈕將其選定。在【屬性】窗口中,將Text屬性設(shè)置為“歡迎”。
21、 1.4.2 編寫應(yīng)用程序的代碼 下面就開始編寫應(yīng)用程序代碼,步驟如下:(1)雙擊“歡迎”按鈕,為Button1的Click事件添加事件處理程序。此時(shí)將打開代碼編輯器,插入點(diǎn)已位于事件處理程序中。 (2)插入下列代碼。Label1.Text = Hello, World!“1.4.3 測試應(yīng)用程序 接下來就到了測試應(yīng)用程序,步驟如下:(1)按快捷鍵【F5】運(yùn)行該應(yīng)用程序。 (2)單擊該按鈕并驗(yàn)證已顯示“Hello, World!”,如圖1-8所示。(3)關(guān)閉此Windows窗體并返回Visual Studio.NET集成開發(fā)環(huán)境。(4)測試成功后,通過【文件】菜單將項(xiàng)目保存到指定的文件夾中。1
22、.5 面向?qū)ο蟪绦蛟O(shè)計(jì)的基本概念1.5.1 對象與類的概念“類”和“對象”在面向?qū)ο蟮木幊讨惺褂玫梅浅6?,很容易將它們混淆。幾乎在Visual Basic中執(zhí)行的所有操作都與對象關(guān)聯(lián)。對象(Object)是Visual Basic程序設(shè)計(jì)中最基本、最重要的概念。在Visual Basic .NET中所進(jìn)行的任何操作幾乎都涉及對象。對象可以是一段應(yīng)用程序,可以是一個(gè)命令按鈕,也可以是一個(gè)窗體。那么,究竟什么是對象呢?對象是既包含數(shù)據(jù)又包含處理該數(shù)據(jù)的代碼的邏輯實(shí)體,是實(shí)體化的類(Class)?,F(xiàn)實(shí)生活中的一個(gè)實(shí)體就是一個(gè)對象,如一輛特定的汽車、一臺(tái)特定的電腦都是個(gè)對象。一臺(tái)特定的電腦又可以拆分為
23、特定的主板、特定的CPU、特定的顯卡等部件,這些部件又都分別是一個(gè)對象,因此電腦對象可以說是由多個(gè)“子”對象組成的,它可以稱為是一個(gè)對象容器(Container)。 從另一角度來說,Visual Basic中的每個(gè)對象都由一個(gè)類來定義。類描述對象的字段、屬性、方法和事件。對象是類的實(shí)例,創(chuàng)建了一個(gè)類后,可以創(chuàng)建所需的任何數(shù)量的對象。Visual Basic采用面向?qū)ο蟮木幊谭椒?,使得編程人員圍繞對象來編寫程序。對象是代碼和數(shù)據(jù)的集合,可以作為一個(gè)整體來處理。在客觀世界中存在大量的對象。為了便于理解和管理,人們習(xí)慣通過對象的共同特征給對象分類。類是對所有具有共同特征事物的抽象描述,是一個(gè)抽象的概
24、念。類可以視為是一個(gè)具有類似特征與共同行為的對象的“模板”。這個(gè)模板通過定義屬性來存儲(chǔ)數(shù)據(jù),通過定義操作來使用這些數(shù)據(jù),類同時(shí)也定義了一套規(guī)則來允許或禁止訪問它的屬性和操作。 1.5.2 對象的屬性、事件和方法Visual Basic中的對象都支持字段、屬性、方法和事件。字段和屬性表示對象包含的信息。字段類似于變量,因?yàn)榭梢灾苯幼x取或設(shè)置它們。每個(gè)對象都包含一組數(shù)據(jù),用來描述對象的特征,這組描述對象特征的數(shù)據(jù)稱為對象的屬性。對象所有屬性值的集合稱為對象的狀態(tài)。Visual Basic中的每個(gè)對象都具有自己的屬性。事件是預(yù)先定義好的能夠被對象所識(shí)別的動(dòng)作,是對象從其他對象或應(yīng)用程序接收的通知,或
25、者是對象傳輸?shù)狡渌麑ο蠡驊?yīng)用程序的通知。對每個(gè)對象來說,事件的類型是固定的,用戶一般不能改變。但對事件響應(yīng)后的具體工作任務(wù)是可以自行設(shè)計(jì)的,用戶可以通過編寫程序代碼來響應(yīng)事件,這段代碼稱為事件代碼。方法是類定義的過程。方法的使用類似于子例程或函數(shù)。對象的方法是指對象要完成的某個(gè)動(dòng)作或功能。如窗體關(guān)閉功能。對象的方法和事件有相似之處,它們都執(zhí)行相應(yīng)的功能。但方法是系統(tǒng)預(yù)先定義好的,用戶不能更改。而事件的類型是固定的,但事件代碼可由用戶自行編寫。方法又稱為操作或服務(wù),也稱為行為,對象的方法集合體現(xiàn)了對象的行為能力。 1.5.3 對象的封裝、繼承及多態(tài)性字段、屬性、方法和事件只是面向?qū)ο缶幊痰幕咎?/p>
26、征,真正的面向?qū)ο蟮木幊绦枰獙ο笾С秩N特性:封裝、繼承和多態(tài)性?!胺庋b”是指將不同功能和屬性包裝、捆綁在一個(gè)抽象的實(shí)體中,并隱藏其內(nèi)部的復(fù)雜性。意味著將一組相關(guān)屬性、方法和其他成員視為一個(gè)單元或?qū)ο?。對象可以控制更改屬性和?zhí)行方法的方式。BankAccount 類封裝描述銀行帳戶的方法、字段和屬性。如果沒有封裝,則就需要聲明單獨(dú)的過程和變量來存儲(chǔ)和管理銀行帳戶信息,要一次處理多個(gè)銀行帳戶就會(huì)比較困難。封裝使您可以將BankAccount類中的數(shù)據(jù)和過程作為一個(gè)單元來使用。您可以同時(shí)處理多個(gè)銀行帳戶而不會(huì)混淆,因?yàn)槊總€(gè)帳戶都由該類的一個(gè)惟一實(shí)例來表示。 封裝還使您可以控制如何使用數(shù)據(jù)和過程???/p>
27、以使用訪問修飾符(如Private或Protected)來防止外部過程執(zhí)行類方法或讀取與修改屬性和字段中的數(shù)據(jù)。應(yīng)當(dāng)將類的內(nèi)部詳細(xì)信息聲明為Private以防止在類外使用它們,此技術(shù)稱為“數(shù)據(jù)隱藏”。在Bank- Account類中,客戶信息(如帳戶余額)就是用這種方式保護(hù)的。封裝的一個(gè)基本規(guī)則是類數(shù)據(jù)應(yīng)當(dāng)只能通過 Property過程或方法來修改或檢索。隱藏類的實(shí)現(xiàn)詳細(xì)信息可以防止這些信息被以不希望的方式使用,并使您可以在以后修改此類項(xiàng)時(shí)沒有兼容性問題方面的風(fēng)險(xiǎn)?!袄^承”是指基于現(xiàn)有類創(chuàng)建新類的能力。新類繼承基類的所有屬性、方法和事件,而且可用其他屬性和方法自定義該新類。例如,可基于小汽車類
28、創(chuàng)建名為越野車的新類。越野車類從小汽車類繼承顏色屬性,而且可有其他屬性,如四輪驅(qū)動(dòng)(FourWheelDrive)?!岸鄳B(tài)性”意味著可以有多個(gè)可互換使用的類,即使每個(gè)類以不同方式實(shí)現(xiàn)相同屬性或方法。多態(tài)性是面向?qū)ο缶幊痰木A。利用多態(tài)性,根據(jù)調(diào)用方法的實(shí)例類型,同一個(gè)基方法可執(zhí)行不同的操作。多態(tài)性語言具有靈活、抽象、代碼共享等優(yōu)點(diǎn),很好地解決了應(yīng)用程序中函數(shù)同名的問題。例如,一個(gè)為整形數(shù)排序的函數(shù),利用多態(tài)性,也可用于浮點(diǎn)數(shù)的排序。 1.6 窗體及常用控件窗體是編寫Visual Basic的Windows應(yīng)用程序的基礎(chǔ),是用于Microsoft Windows應(yīng)用程序開發(fā)的、基于NET Fra
29、mework的新平臺(tái)。它使您能開發(fā)豐富的Windows應(yīng)用程序。另外,Windows窗體可作為多層分布式解決方案中的本地用戶界面。1.6.1 Windows窗體的常用屬性和方法1. Windows窗體的常用屬性當(dāng)新建一個(gè)“Windows應(yīng)用程序”時(shí),就會(huì)顯示一個(gè)設(shè)計(jì)窗體。對窗體進(jìn)行設(shè)計(jì)的第一步是設(shè)置其屬性。在設(shè)計(jì)時(shí),可在“屬性”窗口中執(zhí)行此操作。然后即可在窗體上放置控件,這些控件可自動(dòng)繼承與其容器窗體某些相同的屬性,如在設(shè)計(jì)窗體中修改了Font字體的默認(rèn)值后添加一些新的控件,如Button控件,則Button控件的Font字體的屬性值與窗體中修改后的Font字體值相同。窗體的屬性有幾十個(gè),一般
30、采用默認(rèn)值,需要更改的不多。設(shè)置新建窗體的屬性,既可以通過編寫代碼,也可以通過使用【屬性】窗口來設(shè)置窗體的屬性。設(shè)計(jì)時(shí)所做的屬性設(shè)置都將作為應(yīng)用程序每次運(yùn)行時(shí)的初始設(shè)置。設(shè)置窗體屬性的操作步驟如下:(1)打開【屬性】窗口??蓡螕簟疽晥D】菜單中的“屬性窗口”打開。(2)選中目標(biāo)窗體。窗體的名稱將出現(xiàn)在【屬性】窗口頂部的下拉列表框中。(3)在【屬性】窗口中,單擊要設(shè)置的屬性行,輸入新的屬性設(shè)置。(4)可通過【屬性】窗口中的 和 按鈕選擇屬性的顯示方式。當(dāng)選擇了某個(gè)屬性時(shí),該屬性的相關(guān)描述就會(huì)自動(dòng)顯示在【屬性】窗口的底部,您可通過這種方式了解一些屬性的含義。 2. Windows窗體的常用方法窗體提
31、供了許多特定的方法,也就是它們所能執(zhí)行的操作,通過調(diào)用窗體的某一方法,執(zhí)行指定的操作??稍诖a窗口中輸入“Me.”,系統(tǒng)將彈出一個(gè)下拉列表框,列出了所有可用的窗體方法、屬性等。將鼠標(biāo)點(diǎn)擊某一方法名列表項(xiàng)后,系統(tǒng)將自動(dòng)提示該方法的調(diào)用格式及簡短的功能說明,要知該方法詳細(xì)說明及示例可查閱MSDN。在窗體的代碼窗口中輸入方法調(diào)用,即可實(shí)現(xiàn)該方法的操作。方法調(diào)用的語法格式為: . 方法名 (參數(shù)列表) :可以是窗體及其他對象名。(參數(shù)列表):既然方法是一個(gè)過程或函數(shù),當(dāng)然也就可能有參數(shù)。例如,顯示一個(gè)Form2窗體,可以用Show方法:Form2.Show() Me表示當(dāng)前窗體。例如,關(guān)閉當(dāng)前窗體時(shí)應(yīng)
32、調(diào)用窗體的Close方法,代碼如下:Me.Close() 1.6.2 Windows窗體的事件事件是可以通過代碼響應(yīng)或“處理”的操作。事件可由用戶操作(如單擊鼠標(biāo)或按某個(gè)鍵)、程序代碼或系統(tǒng)生成。事件驅(qū)動(dòng)的應(yīng)用程序通過執(zhí)行代碼而響應(yīng)事件。每個(gè)窗體和控件都公開一組預(yù)定義事件,您可根據(jù)這些事件進(jìn)行編程。如果發(fā)生其中一個(gè)事件并且在相關(guān)聯(lián)的事件處理程序中有代碼,則調(diào)用該代碼。對象引發(fā)的事件類型會(huì)發(fā)生變化,但對于大多數(shù)控件,很多類型是通用的。例如,大多數(shù)對象都處理Click事件,即如果用戶單擊窗體,將執(zhí)行該窗體的Click事件處理程序中的代碼。注意:許多事件會(huì)與其他事件同時(shí)發(fā)生。例如,在發(fā)生Click事
33、件的過程中,還發(fā)生 MouseDown和MouseUp事件。下列示例顯示窗體對象Form1的Click事件和MouseDown的事件處理程序。當(dāng)引發(fā)Form1的Click事件時(shí),使Form1窗體的標(biāo)題欄顯示“Form1_Click”,而引發(fā)Form1的MouseDown 事件時(shí),使Form1窗體內(nèi)的Label1對象顯示“Form1_MouseDown”。步驟如下:(1)啟動(dòng)Visual Studio.NET集成開發(fā)環(huán)境。(2)創(chuàng)建名為“EventTest”的 Windows 應(yīng)用程序。(3)在【文件】菜單上指向【新建】,然后單擊“項(xiàng)目”。(4)在【項(xiàng)目類型】窗格中,選擇“Visual Basi
34、c項(xiàng)目”。 (5)在【模板】窗格中,選擇“Windows 應(yīng)用程序”。(6)從【工具箱】中拖動(dòng)一個(gè)Label控件到窗體上。將語句Me.Text = “Form1_Click”添加到Form1_Click()事件過程中。將語句Me.Label1.Text = Form1_MouseDown添加到Form1_MouseDown ()事件過程中。即: Private Sub Form1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Click Me.Text = “Form1_Click” 窗體標(biāo)題
35、欄顯示 “Form1_Click” End Sub Private Sub Form1_MouseDown(ByVal sender As _ Object, ByVal e As ystem.Windows.Forms. _ SMouseEventArgs) Handles MyBase.MouseDown Label1對象顯示“Form1_MouseDown” Me.Label1.Text = Form1_MouseDown End Sub按快捷鍵【F5】運(yùn)行該應(yīng)用程序后,用鼠標(biāo)單擊Form1窗體一次,結(jié)果如圖1-15所示,即同時(shí)引發(fā)并執(zhí)行了上述兩個(gè)過程。 圖1-15 響應(yīng)事件過程 事件處
36、理程序是綁定到事件的方法。當(dāng)引發(fā)事件時(shí),執(zhí)行事件處理程序內(nèi)的代碼。每個(gè)事件處理程序提供兩個(gè)使用戶得以正確處理事件的參數(shù)。一個(gè)是sender參數(shù),它提供對引發(fā)事件的對象引用。第二個(gè)參數(shù)e則負(fù)責(zé)傳遞針對要處理的事件的對象。通過引用對象的屬性(有時(shí)引用其方法)可獲得一些信息,如鼠標(biāo)事件中鼠標(biāo)的位置或拖放事件中傳輸?shù)臄?shù)據(jù)。 1.6.3 多文檔界面(MDI)應(yīng)用程序在Windows應(yīng)用程序中,用戶界面的外觀有三種主要樣式: 單文檔界面(SDI),如圖 1-16所示。多文檔界面(MDI),如圖 1-17所示。資源管理器樣式界面,如圖 1-18所示。 圖1-16 SDI 應(yīng)用程序外觀 圖1-17 MDI 應(yīng)
37、用程序外觀 圖 1-18 資源管理器樣式界面 SDI界面的一個(gè)示例是Microsoft Windows的“寫字板”軟件。在“寫字板”中,每次只能打開一個(gè)文檔,要打開另一個(gè)文檔必須先關(guān)閉當(dāng)前的文檔。Microsoft Excel是MDI界面的一個(gè)典型范例。它允許同時(shí)顯示多個(gè)文檔,每個(gè)文檔在其自己的窗口中顯示。在圖1-18中,窗體Microsoft Excel是MDI父窗體,它是包含MDI子窗口01和02的窗體,子窗體是用戶與MDI應(yīng)用程序進(jìn)行交互的窗口。資源管理器樣式界面是包含兩個(gè)“窗格”或區(qū)域的單個(gè)窗口,通常由左側(cè)的樹或分層視圖以及右側(cè)的顯示區(qū)域組成,與“Microsoft Windows 資
38、源管理器”一樣。此類界面適合于定位或?yàn)g覽大量的文檔、圖片或文件。在確定哪種界面樣式最適合時(shí),需要考慮應(yīng)用程序的用途。SDI樣式是Windows應(yīng)用程序默認(rèn)的布局選項(xiàng)。創(chuàng)建MDI應(yīng)用程序時(shí)有許多獨(dú)特的注意事項(xiàng)和技巧。本章僅介紹創(chuàng)建MDI窗體的具體步驟:(1)創(chuàng)建Windows應(yīng)用程序。 (2)在【屬性】窗口中,將Form1窗體的IsMDIContainer屬性設(shè)置為True。這將該窗體指定為MDI父窗體。 (3)將MenuStrip組件從【工具箱】拖到Form1窗體上。創(chuàng)建一個(gè)Text屬性設(shè)置為【文件】的頂級菜單項(xiàng),且?guī)в忻麨椤靶陆ā焙汀瓣P(guān)閉”的子菜單項(xiàng)。再創(chuàng)建一個(gè)名為【窗口】的頂級菜單項(xiàng)。 (
39、4)在【項(xiàng)目】主菜單中,單擊“添加Windows 窗體”命令項(xiàng),可創(chuàng)建Form2窗體。Windows窗體設(shè)計(jì)器打開,其中顯示Form2窗體。 (5)從【工具箱】中拖動(dòng)一個(gè)Label控件到Form2窗體上。(6)輸入MDI窗體的“新建”及“關(guān)閉”命令項(xiàng)處理程序(【窗口】菜單的處理程序暫未考慮): Private Sub 新建ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 新建ToolStripMenuItem.Click Dim child As New For
40、m2 Static childCount As Int16 childCount += 1 child.Text = Child + childCount.ToString() child.MdiParent = Me child.Show()End SubPrivate Sub 關(guān)閉ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 關(guān)閉ToolStripMenuItem.Click EndEnd Sub(7)在MDI子窗體中鍵入以下代碼:Private Sub
41、 Form2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Click Me.Label1.Text = 這是MDI子窗體End Sub按快捷鍵【F5】運(yùn)行該應(yīng)用程序后,執(zhí)行“新建”菜單命令后,用鼠標(biāo)單擊Form2窗體2次,結(jié)果如圖1-19所示。圖1-19 一個(gè)簡單的MDI窗體1.6.4 Windows 窗體常用控件簡介Windows 窗體控件是從System.Windows.Forms.Control直接或間接派生的類。當(dāng)設(shè)計(jì)和修改解決方案的用戶界面時(shí),需要添加、對齊和定位控件??丶前?/p>
42、窗體對象內(nèi)的對象。每種類型的控件都具有其自己的屬性、方法和事件,以使該控件適合于特定用途。下面按照字母順序列出了可在Windows窗體中常用的控件。除了所包含的Windows窗體控件之外,還可以向Windows窗體添加ActiveX控件和自定義控件。如果在這里列出的控件中沒有找到需要的控件,還可以創(chuàng)建自己的控件。有關(guān)詳細(xì)信息,請參見MSDN的“Windows 窗體的控件創(chuàng)作”。有關(guān)選擇所需控件的更多信息,請參見附A“Windows窗體控件”。 1.7 應(yīng)用程序開發(fā)步驟Windows窗體設(shè)計(jì)器為創(chuàng)建Windows應(yīng)用程序提供快速開發(fā)解決方案。通過Visual Basic.NET創(chuàng)建Windows
43、應(yīng)用程序一般包括以下一些基本步驟。1.7.1 應(yīng)用程序需求分析 在開發(fā)任何應(yīng)用程序之前,開發(fā)者應(yīng)該首先分析此應(yīng)用程序?qū)⒁瓿墒裁垂δ?,?dāng)功能比較多時(shí),還要將不同的功能分類(模塊),以便用戶的操作使用。同時(shí)需要考慮安排幾個(gè)窗體,每個(gè)窗體設(shè)置哪些控件,執(zhí)行什么事件。此外,還要分析各功能之間存在什么樣的聯(lián)系,各功能模塊的入口數(shù)據(jù)來自哪里,本模塊采用什么數(shù)據(jù)結(jié)構(gòu),如何保證數(shù)據(jù)的安全性及可靠性,程序代碼應(yīng)如何編寫等等。1.7.2 創(chuàng)建用戶界面 對用戶應(yīng)用程序進(jìn)行了認(rèn)真的需求分析之后,應(yīng)新建一個(gè)Windows應(yīng)用程序項(xiàng)目。在創(chuàng)建一個(gè)新的Windows應(yīng)用程序項(xiàng)目時(shí),Visual Basic.NET會(huì)自動(dòng)創(chuàng)
44、建一個(gè)空白的默認(rèn)名為Forml的窗體,向窗體添加相應(yīng)的控件對象,創(chuàng)建用戶界面。用戶界面除要保證本窗體模塊的功能實(shí)現(xiàn)外,還要適當(dāng)調(diào)整控件的大小、位置及屬性,使之既方便用戶的操作又使界面美觀,若能使用戶在操作時(shí)有那種愛不釋手感覺最好。1.7.3 設(shè)置用戶界面對象的屬性 在窗體中添加完所需的控件對象之后,可以在屬性窗口或者代碼窗口中設(shè)置它們的一些屬性,以滿足設(shè)計(jì)及美觀的需要。1.7.4 編寫程序代碼在完成了用戶界面的設(shè)計(jì)之后,就可以編寫程序代碼,以響應(yīng)用戶和系統(tǒng)事件,也就是通過代碼決定當(dāng)發(fā)生什么事件時(shí)執(zhí)行什么操作。需要說明的是,對于事件過程,應(yīng)避免手工鍵入事件過程的聲明部分及過程的結(jié)尾部分,而讓系統(tǒng)
45、自動(dòng)生成,以免發(fā)生不必要的錯(cuò)誤。1.7.5 測試和調(diào)試應(yīng)用程序 測試可以完成許多事,但最重要的是可以衡量正在開發(fā)的軟件的質(zhì)量,檢查應(yīng)用程序是否能正確完成用戶提出的所有功能。調(diào)試程序是對測試程序過程中發(fā)現(xiàn)的問題,進(jìn)行問題分析查找及修正 軟件規(guī)范的要求不止是設(shè)置基準(zhǔn)和列出功能。它還提供關(guān)于產(chǎn)品的所有測試的要求。一個(gè)復(fù)雜的程序設(shè)計(jì),對任何一個(gè)編程人員來說都很難一次編制成功。一個(gè)有經(jīng)驗(yàn)的程序員,不是由于他不犯錯(cuò)誤,而是因?yàn)樗噶隋e(cuò)誤后,能及時(shí)通過調(diào)試工具和調(diào)試技術(shù)很快地找到錯(cuò)誤的所在,分析并改正錯(cuò)誤。所以,能靈活運(yùn)用調(diào)試工具及調(diào)試技術(shù)是一個(gè)高級編程人員必須具備的素質(zhì)。Visual Basic.NET為
46、程序調(diào)試提供了一組交互的、有效的調(diào)試工具,這些調(diào)試支持包括:設(shè)置新斷點(diǎn)、逐語句、逐過程地控制程序的運(yùn)行,利用斷點(diǎn)窗口及命令窗口檢查一些變量及表達(dá)式的值等。使用這些調(diào)試工具,可以快捷有效地檢查程序中錯(cuò)誤產(chǎn)生的地點(diǎn)和原因。最終使程序能正確地完成設(shè)計(jì)的目標(biāo)。 1.7.6 生成可執(zhí)行文件在完成上述工作后,需要?jiǎng)?chuàng)建項(xiàng)目的發(fā)布版本,并且要再次對它進(jìn)行測試和調(diào)試,將構(gòu)成程序的各種文件編譯為獨(dú)立的可執(zhí)行文件,使之可直接在Windows環(huán)境中運(yùn)行,包括那些沒有安裝Visual Studio.NET的計(jì)算機(jī)。對于較復(fù)雜的程序常常需要其他一些文件的支持,例如動(dòng)態(tài)鏈接庫(DLL)文件等。使用Visual Basic.
47、NET提供的“安裝向?qū)А?,可以對所有需要的文件進(jìn)行打包,并自動(dòng)創(chuàng)建安裝程序,以保證用戶在運(yùn)行了安裝程序后能得到所有需要的文件和各種初始設(shè)置。 1.8 實(shí)踐檢驗(yàn)理論鞏固(1)簡述.NET框架的結(jié)構(gòu)和特點(diǎn)。(2)什么是類、對象及對象的屬性、事件和方法?(3)簡述Visual Basic提供“標(biāo)識(shí)符類型字符”可視化編程的一般步驟。(4)如何在窗體中輸出:“大家都來學(xué)用Visual Basic.NET”?(5)理解單擊(Click)和雙擊(DoubleClick)事件。單擊或雙擊窗體改變窗體的標(biāo)題。上機(jī)實(shí)戰(zhàn)(1)編寫一個(gè)簡單程序。要求:單擊不同的命令按鈕顯示不同的內(nèi)容。(2)建立一個(gè)MDI窗體。父窗體
48、的Text屬性值為“父窗體”,子窗體的Text屬性值為“子窗體”。 MSDN 的使用 (1) 安裝 (2) 動(dòng)態(tài)幫助 (3) 索引 (4) 目錄 (5) 相關(guān)網(wǎng)站 小結(jié):1.1 .NET Framework簡介1.2 Visual Studio.NET的安裝1.3 Visual Studio集成開發(fā)環(huán)境1.4 創(chuàng)建一個(gè)簡單的Windows應(yīng)用程序項(xiàng)目1.5 面向?qū)ο蟪绦蛟O(shè)計(jì)的基本概念窗體及常用控件1.6 窗體及常用控件1.7 應(yīng)用程序開發(fā)步驟對于編寫代碼,我們還應(yīng)當(dāng)記住下列兩條:1.模塊化。2.模塊內(nèi)強(qiáng)內(nèi)聚,模塊間弱耦合。學(xué)習(xí)程序設(shè)計(jì)語言的技巧:1.多看資料。2.多上機(jī)。3.看資料和上機(jī)相結(jié)合
49、。作業(yè): 理論鞏固 1、2、3 上機(jī)實(shí)戰(zhàn) 1、2、3、4本章上機(jī): 1. 熟悉IDE 2. 熟悉窗體、常用控件的屬性設(shè)置。 3. 編程實(shí)現(xiàn)上機(jī)實(shí)戰(zhàn)的 1、2、3、4題 2.1 數(shù)據(jù)類型2.2 數(shù)據(jù)類型轉(zhuǎn)換2.3 常數(shù)和枚舉型(Enum) 2.4 結(jié) 構(gòu)2.5 變 量2.6 運(yùn)算符與表達(dá)式2.7 數(shù)組與集合第2章 Visual Basic .NET語言基礎(chǔ)本章知識(shí)點(diǎn):變量及聲明運(yùn)算符與表達(dá)式數(shù)組及聲明常用內(nèi)部函數(shù)第2章 Visual Basic .NET語言基礎(chǔ)為了方便識(shí)別和處理,編程語言系統(tǒng)中的不同信息在計(jì)算機(jī)中具有不同的表示,占用不同的儲(chǔ)存空間,這些信息在語言系統(tǒng)中稱之為數(shù)據(jù)類型。Visua
50、l Basic.NET 使用的每種數(shù)據(jù)類型都與公共語言運(yùn)行環(huán)境(CLR)的通用類型系統(tǒng)(Common Type System,CTS)中的一種類型直接對應(yīng)。這為構(gòu)建跨語言集成,保證代碼類型安全,確保用不同語言編寫的對象能夠交互作用打下了基礎(chǔ)。 CTS支持兩種類型:值類型和引用類型。值類型直接包含數(shù)據(jù)。包括:所有的數(shù)值數(shù)據(jù)類型、 Char、 Boolean、Date、所有結(jié)構(gòu)、枚舉類型。引用類型數(shù)據(jù)包含指向?qū)ο髮?shí)例的引用或指針。兩個(gè)引用類型數(shù)據(jù)可以指向同一個(gè)對象實(shí)例,因此對一個(gè)引用類型數(shù)據(jù)的操作會(huì)影響其他引用類型數(shù)據(jù)。引用類型包括:String、所有數(shù)組和類。2.1 數(shù)據(jù)類型如表2-1所示給出了
51、VB.NET常用的數(shù)據(jù)類型及其支持的CLR類型和取值范圍。 在“科學(xué)計(jì)數(shù)法”中,“E”表示以10為底的冪。因此3.56E+2表示3.56 102或356,3.56E-2表示3.56/102或0.0356。公共語言運(yùn)行庫根據(jù)應(yīng)用程序所在執(zhí)行平臺(tái)的特性來分配存儲(chǔ)。在某些情況下,它會(huì)盡可能緊密地壓縮聲明的元素(變量)。而在其他情況下它會(huì)將數(shù)據(jù)按內(nèi)存地址的整數(shù)邊界存放。另外,在64位平臺(tái)上的存儲(chǔ)分配與在32位平臺(tái)上不同。引用任何基本或復(fù)合數(shù)據(jù)類型的Object在除了該數(shù)據(jù)類型中包含的數(shù)據(jù)之外還要額外使用4 Byte的引用地址。 2.1 數(shù)據(jù)類型2.1.1 VB.NET的基本數(shù)據(jù)類型有符號的整型數(shù)據(jù)類型
52、包括:SByte(8位)、短整型 Short(16 位)、整型Integer(32 位)和長整型Long(64 位)。如果某個(gè)變量總是存儲(chǔ)整數(shù)而不是帶小數(shù)的數(shù)字,則將它聲明為這些類型中的一種。用整型數(shù)進(jìn)行算術(shù)運(yùn)算比用其他數(shù)據(jù)類型快。在VB.NET中使用Integer類型進(jìn)行算術(shù)運(yùn)算是最快的。對于Byte 、UInteger等無符號整型數(shù)據(jù)類型,無法表示負(fù)數(shù)。如果將一元負(fù)(-)運(yùn)算符用于取值為無符號整型數(shù)據(jù)類型的表達(dá)式,則Visual Basic首先將表達(dá)式轉(zhuǎn)換為相應(yīng)的有符號的整型數(shù)據(jù)類型??捎梦谋绢愋妥址麡?biāo)識(shí)數(shù)據(jù)的類型,對于整型、文本類型字符S表示Short,I表示Integer, L表示Lo
53、ng,US表示UShort,UI表示UInteger,UL表示ULong。如:Dim IntVar As ShortIntVar = 92S 。2.1 數(shù)據(jù)類型2.1.2 整型數(shù)據(jù)類型 2.1.3 非整型數(shù)據(jù)類型非整型數(shù)據(jù)類型有:十進(jìn)制定點(diǎn)型Decimal(128位)、單精度浮點(diǎn)型Single(32 位)和雙精度浮點(diǎn)型Double(64 位)。它們都是有符號類型。如果數(shù)據(jù)可能包含小數(shù),則將其聲明為這些類型之一。相對于浮點(diǎn)型(Single 和 Double)Decimal 數(shù)據(jù)類型能表示的有效位數(shù)多、精度高,但數(shù)字的范圍小。浮點(diǎn)數(shù)的科學(xué)表示法為:mmmEeee,其中mmm是尾數(shù)(有效數(shù)字),ee
54、e是以10為底的指數(shù)。對于非整型,文本類型字符D表示Decimal, F表示Single, R表示Double。如:Dim DecVar As Decimal 字符DecVar被聲明為Decimal數(shù)據(jù)類型DecVar = 9223372036854775808D 賦值時(shí)在數(shù)值后面加文本類型字符D 2.1.4 字符數(shù)據(jù)類型字符數(shù)據(jù)類型是用來處理可打印和可顯示的字符。有Char數(shù)據(jù)類型和String數(shù)據(jù)類型兩種。Char數(shù)據(jù)類型是無符號的單個(gè)雙字節(jié)(16位)Unicode字符。Char類型和數(shù)字類型之間的轉(zhuǎn)換可以通過函數(shù)實(shí)現(xiàn)類型轉(zhuǎn)換,如AscW和ChrW。如果打開類型檢查開關(guān)(Option St
55、rict),必須將文本類型字符C追加到單字符后,以將其標(biāo)識(shí)為Char數(shù)據(jù)類型,否則將出錯(cuò)。如下例所示:Option Strict On .Dim CharVar As CharCharVar = ¥ Option Strict On時(shí)不允許從String到Char的隱式轉(zhuǎn)換,故本句出錯(cuò)CharVar = ¥C 必須加文本類型字符C String字符串類型是0個(gè)或多個(gè)Unicode字符的序列。如果某個(gè)變量總是包含字符串而從不包含數(shù)值,則將它聲明為String類型,如:Dim StrVar ,StrVar1 As StringStrVar = DatabaseStrVar1 = Microsoft
56、.VisualBasic.Left(StrVar, 4) StrVar1的值為Data String 數(shù)據(jù)類型包含 Unicode 字符,而每個(gè) Unicode 字符都可在 0 和 65,535 之間取值。String 沒有文本類型字符。在任何標(biāo)識(shí)符后追加標(biāo)識(shí)符類型字符 $ 可將其強(qiáng)制轉(zhuǎn)換成 String 數(shù)據(jù)類型。另外,VBFixedStringAttribute類指示將字符串當(dāng)作固定長度的字符串來處理。如: Public StrVar As String其中,字符串變量StrVar長度固定為m個(gè)字符。 2.1.5 布爾型(Boolean)Boolean數(shù)據(jù)類型是被解釋為True或False
57、的無符號值。如果某個(gè)變量只能包含兩個(gè)狀態(tài),則將它聲明為Boolean類型。Boolean沒有文本類型字符,它的默認(rèn)值是 False。Boolean變量以16位(2 Byte)的數(shù)值形式存儲(chǔ),但只能是True或是False。使用關(guān)鍵字 True與False將Boolean變量賦值為這兩個(gè)狀態(tài)中的一個(gè)。如:Dim BoVar As BooleanBoVar = True在將數(shù)值數(shù)據(jù)類型轉(zhuǎn)換為Boolean值時(shí),0會(huì)轉(zhuǎn)換為False,而其他所有值都將轉(zhuǎn)換為 True。在將Boolean值轉(zhuǎn)換為數(shù)值類型時(shí),F(xiàn)alse將轉(zhuǎn)換為0,True將轉(zhuǎn)換為-1。建議不要編寫依賴True和False的等價(jià)數(shù)值的代碼
58、,以免出現(xiàn)不必要的錯(cuò)誤。2.1.6 日期類型(Date)Date數(shù)據(jù)類型是以IEEE64位(8Byte)整數(shù)的形式存儲(chǔ)??杀硎緩墓珰v第1年1月1號 (1:00:00 AM) 開始的時(shí)間。Date數(shù)據(jù)類型的變量或常數(shù)可包含日期和時(shí)間。日期數(shù)據(jù)必須用“#”括起來,格式為M/d/yyyy。如:Dim SomeDate As DateSomeDate = #1/1/1 01:00:00 AM# 等效#01:00:00 AM#SomeDate = #1/1/1 00:59:59 AM# 系統(tǒng)提示錯(cuò)誤將數(shù)字?jǐn)?shù)據(jù)類型轉(zhuǎn)換為Date類型時(shí),Visual Basic將它的值視為有符號整數(shù)。如果試圖轉(zhuǎn)換負(fù)數(shù),則會(huì)
59、出錯(cuò)。Date沒有文本類型字符。等價(jià)的.NET數(shù)據(jù)類型是System.DateTime。 2.1.7 對象類型(Object)Object數(shù)據(jù)占用4個(gè)字節(jié)的存儲(chǔ)空間,作為應(yīng)用程序中對象的引用地址。即對象變量中存儲(chǔ)的值被保存在內(nèi)存中的其他地方,而變量本身保存一個(gè)指向該數(shù)據(jù)的指針。這樣,可以為Object變量分配任何引用類型(字符串、數(shù)組、類或接口)和任意類型的數(shù)據(jù)。例如:Dim ObjVar As ObjectObjVar = 123ObjVar = “ABC123”要決定Object變量當(dāng)前引用的數(shù)據(jù)類型,可以使用Type類的GetTypeCode方法。如上例中后面添加:Dim DatTyp
60、As IntegerDatTyp = Type.GetTypeCode(objVar.GetType() 就可知道objVar最后引用的是字符串,因?yàn)槠鋽?shù)據(jù)類型碼DatTyp=18。聲明對象變量時(shí),盡量使用特定的類而不是一般的Object。如使用Button而不是Control,這樣就可以訪問其屬性和方法。通常可以使用“對象瀏覽器”中的“類”列表來查找可用的類名。2.1.8 值類型和引用類型如果某個(gè)數(shù)據(jù)類型在自己的內(nèi)存分配中包含數(shù)據(jù),則該數(shù)據(jù)類型是“值類型”?!耙妙愋汀焙兄赶虬瑪?shù)據(jù)的所在內(nèi)存位置的指針。值類型包括: 所有數(shù)字?jǐn)?shù)據(jù)類型。 Boolean、Char 和 Date。 所有結(jié)構(gòu),
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 借款投資合作合同范本
- 公司廠房抵押合同范本
- ktv經(jīng)營合同范本
- 與商戶合同范本
- 親戚之間租車合同范本
- 勞動(dòng)合同范本 日語
- 2024年重慶市榮昌區(qū)人民醫(yī)院招聘筆試真題
- 中國監(jiān)理合同范本
- 中山餐飲合同范本
- 2024年河源市紫金縣藍(lán)塘鎮(zhèn)招聘考試真題
- 2025年不停電電源(UPS)項(xiàng)目合作計(jì)劃書
- 2025年國家林業(yè)和草原局直屬事業(yè)單位第一批招聘應(yīng)屆畢業(yè)生96人歷年高頻重點(diǎn)模擬試卷提升(共500題附帶答案詳解)
- 2025年春季開學(xué)典禮校長講話稿-少年無畏凌云志扶搖直上入云蒼
- 2025年湖南食品藥品職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測試近5年??及鎱⒖碱}庫含答案解析
- 碳酸鈣脫硫劑項(xiàng)目可行性研究報(bào)告立項(xiàng)申請報(bào)告模板
- 山東省泰安市新泰市2024-2025學(xué)年(五四學(xué)制)九年級上學(xué)期1月期末道德與法治試題(含答案)
- 1《北京的春節(jié)》課后練習(xí)(含答案)
- (完整版)陸河客家請神書
- 2025年行業(yè)協(xié)會(huì)年度工作計(jì)劃
- DB3502T 160-2024 工業(yè)產(chǎn)品質(zhì)量技術(shù)幫扶和質(zhì)量安全監(jiān)管聯(lián)動(dòng)工作規(guī)范
- 2025年學(xué)校教師政治理論學(xué)習(xí)計(jì)劃
評論
0/150
提交評論