![VBNET 程序設(shè)計(jì)教程_第1頁(yè)](http://file4.renrendoc.com/view/5f3f2113ecc9b1680694cd1fa39ac870/5f3f2113ecc9b1680694cd1fa39ac8701.gif)
![VBNET 程序設(shè)計(jì)教程_第2頁(yè)](http://file4.renrendoc.com/view/5f3f2113ecc9b1680694cd1fa39ac870/5f3f2113ecc9b1680694cd1fa39ac8702.gif)
![VBNET 程序設(shè)計(jì)教程_第3頁(yè)](http://file4.renrendoc.com/view/5f3f2113ecc9b1680694cd1fa39ac870/5f3f2113ecc9b1680694cd1fa39ac8703.gif)
![VBNET 程序設(shè)計(jì)教程_第4頁(yè)](http://file4.renrendoc.com/view/5f3f2113ecc9b1680694cd1fa39ac870/5f3f2113ecc9b1680694cd1fa39ac8704.gif)
![VBNET 程序設(shè)計(jì)教程_第5頁(yè)](http://file4.renrendoc.com/view/5f3f2113ecc9b1680694cd1fa39ac870/5f3f2113ecc9b1680694cd1fa39ac8705.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Visual Basic.NET程序設(shè)計(jì)教程華中農(nóng)業(yè)大學(xué)理學(xué)院計(jì)算機(jī)系 黃鈺2教師:黃鈺辦公地點(diǎn):逸夫樓A409Email:yhuangMobile: 137202372013學(xué)習(xí)目的初步掌握windows應(yīng)用編程的基本思想和方法。根據(jù)專業(yè)背景知識(shí)自行開發(fā)相關(guān)的應(yīng)用程序。4對(duì)于生科專業(yè):生物信息學(xué)(Bioinformatics)綜合計(jì)算機(jī)科學(xué)、信息技術(shù)和數(shù)學(xué)的理論和方法來(lái)研究生物信息的交叉學(xué)科。包括生物學(xué)數(shù)據(jù)的研究、存檔、顯示、處理和模擬,基因遺傳和物理圖譜的處理,核苷酸和氨基酸序列分析,新基因的發(fā)現(xiàn)和蛋白質(zhì)結(jié)構(gòu)的預(yù)測(cè)等。5對(duì)于地信專業(yè):1.空間數(shù)據(jù)獲取,管理與處理VB界面2.本專業(yè)課程大部分
2、與計(jì)算機(jī)相關(guān)VB程序設(shè)計(jì)是基礎(chǔ)6對(duì)于園藝專業(yè):遺傳育種學(xué):育種目標(biāo)的制定、種質(zhì)資源、植物的繁殖方式、引種、選擇育種。計(jì)算機(jī)在遺傳育種研究中有著廣泛的應(yīng)用。7對(duì)于食工專業(yè):食品研究中的計(jì)算機(jī)數(shù)據(jù)處理計(jì)算機(jī)在工程設(shè)計(jì)中的應(yīng)用流體輸送系統(tǒng)的設(shè)計(jì),蒸發(fā)系統(tǒng)的設(shè)計(jì)計(jì)算等8第一章 VB.NET概述第二章 面向?qū)ο蟮目梢暬幊袒A(chǔ)第三章 VB.NET語(yǔ)言基礎(chǔ)第四章 基本的控制結(jié)構(gòu)第五章 數(shù) 組第六章 過 程第七章 常用控件和界面設(shè)計(jì)第十章 VB.NET數(shù)據(jù)庫(kù)程序設(shè)計(jì)目 錄9第一章 VB.NET基礎(chǔ) 1.1 VB.NET概述1.2 VB.NET集成開發(fā)環(huán)境1.3 實(shí)現(xiàn)問題的求解過程 本章目錄101.1 VB.
3、NET概述1.初期的程序設(shè)計(jì) 高運(yùn)行效率、少占用內(nèi)存為目標(biāo)2.結(jié)構(gòu)化程序設(shè)計(jì)程序的可讀性、可維護(hù)性為目標(biāo)3.面向?qū)ο蟮某绦蛟O(shè)計(jì) 降低程序的復(fù)雜性、提高軟件的開發(fā)效率和改善工作界面為目標(biāo)2002年正式發(fā)布Visual Basic.NET。 本章目錄111.1.2 Microsoft.NET概述 什么是.NET?. NET代表了一個(gè)集合、一個(gè)環(huán)境、一個(gè)編程的基本結(jié)構(gòu),作為一個(gè)平臺(tái)來(lái)支持下一代的Internet。.NET也是一個(gè)用戶環(huán)境,是一組基本的用戶服務(wù),可以作用于客戶端、服務(wù)器或任何地方 。對(duì)初學(xué)VB的人來(lái)說,可以這樣認(rèn)為,.NET就是Visual Studio.NET。 本章目錄121.1.
4、3 VB.NET特點(diǎn)1 引例例1.1簡(jiǎn)單的動(dòng)畫演示。一行文字“歡迎使用VB.NET”在具有背景圖案的窗體中上、下移動(dòng)。移動(dòng)方法有兩種:?jiǎn)螕羰謩?dòng)按鈕,移動(dòng)5個(gè)像素單位 ;單擊自動(dòng)按鈕,按定時(shí)器觸發(fā)頻率連續(xù)移動(dòng);當(dāng)內(nèi)容超出窗體范圍時(shí),進(jìn)行反彈。例1.2蝴蝶飛本章目錄13 提供了易學(xué)易用的應(yīng)用程序集成開發(fā)環(huán)境 具有面向?qū)ο蟮目梢暬O(shè)計(jì)工具 事件驅(qū)動(dòng)的編程機(jī)制 支持結(jié)構(gòu)化程序設(shè)計(jì),具有面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言的所有特征 具有豐富的數(shù)據(jù)類型、功能強(qiáng)大的類庫(kù) 強(qiáng)大的數(shù)據(jù)庫(kù)功能 網(wǎng)絡(luò)功能 完備的幫助功能VB.NET功能特點(diǎn)本章目錄141.2 VB.NET的集成開發(fā)環(huán)境 1.2.1進(jìn)入VB.NET 啟動(dòng)Visua
5、l Studio.NET“起始頁(yè)”選擇“新建項(xiàng)目/打開項(xiàng)目”按鈕 Visual Basic項(xiàng)目 Windows應(yīng)用程序 本章目錄15VB.NET集成開發(fā)環(huán)境 本章目錄161.2.2主窗口 三種工作模式 設(shè)計(jì)模式 界面的設(shè)計(jì)和代碼的編制 運(yùn)行模式 運(yùn)行應(yīng)用程序 中斷模式 暫時(shí)中斷程序運(yùn)行,調(diào)試程序 2. 菜單欄 包括11個(gè)下拉菜單 3. 工具欄 示例1.3本章目錄171.2.3 窗體設(shè)計(jì)/代碼設(shè)計(jì)窗口 1.窗體設(shè)計(jì)器窗口 建立VB.NET應(yīng)用程序的界面(一個(gè)應(yīng)用程序可以有多個(gè)窗體,通過“項(xiàng)目|添加Windows窗體”命令增加新窗體)。 2.代碼設(shè)計(jì)窗口 專門用來(lái)進(jìn)行代碼設(shè)計(jì),包括各種事件過程、過
6、程和類等源程序代碼的編寫和修改。打開代碼設(shè)計(jì)窗口的方法(多種):雙擊窗體、控件或單擊代碼窗口上方的選項(xiàng)卡組對(duì)應(yīng)項(xiàng)。 本章目錄181.2.4 屬性窗口 窗體和控件稱為對(duì)象,每個(gè)對(duì)象用一組屬性來(lái)描述其外部特征,如顏色、大小等。屬性窗口用于顯示和設(shè)置所選定的對(duì)象的屬性。屬性窗口由四部分組成: 對(duì)象和名稱空間列表框 屬性顯示排列方式 屬性列表框 屬性含義說明本章目錄191.2.5 解決方案資源管理器窗口 項(xiàng)目 一個(gè)獨(dú)立的編程單位(包含窗體文件及其他一些相關(guān)文件),若干項(xiàng)目組成一個(gè)解決方案解決方案可以含有以下類型的文件:解決方案文件(.sln) 可包括用不同語(yǔ)言開發(fā)的項(xiàng)目項(xiàng)目文件(.vbproj) 由引
7、用的組件和代碼模塊組成代碼模塊文件(.vb) 包括窗體文件、類模塊或其他代碼文件本章目錄20本章小節(jié)Visual Studio.NET一個(gè)支持下一代Internet的平臺(tái)VB.NET的三種工作模式設(shè)計(jì)模式、運(yùn)行模式、中斷模式組成本章目錄解決方案項(xiàng)目組件和代碼模塊項(xiàng)目組件和代碼模塊21第二章 面向?qū)ο蟮目梢暬幊袒A(chǔ) 2.1 VB.NET對(duì)象的概念2.2 建立簡(jiǎn)單的應(yīng)用程序2.3 窗體和基本控件 2.4 綜合應(yīng)用 本章目錄222.1 Visual Basic對(duì)象的概念2.1.1 對(duì)象和類1.對(duì)象對(duì)象就是日常生活中的某個(gè)實(shí)在的物體例如,一個(gè)人、一輛汽車、一臺(tái)電腦。對(duì)象都具有各自的特征(屬性)、行為
8、(方法) 。人有身高、體重、聽力等特征;也具有起立、行走、說話、踢足球等行為。在VB.NET中,將反映對(duì)象的屬性和行為封裝在一起,是面向?qū)ο缶幊痰幕驹亍1菊履夸?32.類的概念類 同種對(duì)象的集合與抽象,是創(chuàng)建對(duì)象實(shí)例的模板,包含所創(chuàng)建對(duì)象的屬性描述和行為特征的定義。例如,人類是具體人的抽象。每個(gè)人有不同的身高、體重等屬性值和不同的行為。VB.NET工具箱中的可視圖標(biāo)是VB.NET系統(tǒng)設(shè)計(jì)好的標(biāo)準(zhǔn)控件類。通過將控件類實(shí)例化,得到真正的控件對(duì)象。在窗體上畫一個(gè)控件,就將類轉(zhuǎn)換為對(duì)象,創(chuàng)建了一個(gè)控件對(duì)象(簡(jiǎn)稱控件)。本章目錄24例如:工具箱內(nèi)的TextBox是類(它確定了TextBox的屬性、方
9、法和事件)窗體上顯示的是兩個(gè)TextBox對(duì)象TextBox對(duì)象TextBox類本章目錄25屬性、事件和方法構(gòu)成對(duì)象的三要素1. 屬性 存放對(duì)象的數(shù)據(jù)(決定對(duì)象外觀及功能)例如,控件名稱、文本、大小等屬性。對(duì)象屬性的設(shè)置方法: 設(shè)計(jì)階段 利用屬性窗口直接設(shè)置屬性值 程序運(yùn)行時(shí) 通過語(yǔ)句對(duì)象名.屬性名=屬性值 例如:Button1.Text = 確定 注意:若屬性只能在設(shè)計(jì)階段設(shè)置,在程序運(yùn)行階段不可改變,稱為只讀屬性。 2.1.2 對(duì)象的屬性、事件和方法 本章目錄262.1.3 對(duì)象的建立和命名(1)對(duì)象的建立 方法一: 單擊工具箱上的控件,在窗體上按住左鍵拖拉到所需要的大小后釋放。 方法二:
10、 雙擊工具箱上的控件,則立即在窗體出現(xiàn)一個(gè)默認(rèn)大小的對(duì)象框。(2)編輯對(duì)象 先選中對(duì)象(單擊對(duì)象), 放大、縮小 刪除對(duì)象 27(3)對(duì)象的命名 每一個(gè)對(duì)象都有自己的名字。每個(gè)窗體、控件對(duì)象在建立時(shí)VB系統(tǒng)給出了一個(gè)默認(rèn)名。用戶可通過屬性窗口設(shè)置(名稱)來(lái)給對(duì)象命名。 命名的原則: 必須以字母或漢字開頭、隨后可以是字母、漢字、數(shù)字、下劃線連接而成。28事件 發(fā)生在對(duì)象上的事情同一事件,對(duì)不同的對(duì)象,會(huì)引發(fā)不同的反應(yīng):事件本章目錄教師_鈴聲() 講課End Sub學(xué)生_鈴聲()聽講接受知識(shí)End SubVB.NET為對(duì)象預(yù)先定義了一系列的事件。例如,單擊Click、獲取焦點(diǎn)GotFocus 、按
11、下鍵盤KeyPress 等 其他人員_鈴聲()可不于響應(yīng)End Sub29事件過程 應(yīng)用程序處理事件的步驟它針對(duì)某一對(duì)象并與該對(duì)象的一個(gè)事件相聯(lián)系應(yīng)用程序設(shè)計(jì)的主要工作就是為對(duì)象編寫事件過程的代碼。事件過程的形式如下:Sub 對(duì)象名_事件(對(duì)象引用,事件信息)Handles 事件處理程序 事件過程代碼End Sub對(duì)象引用:指向引發(fā)事件的對(duì)象事件信息:與事件相關(guān)的信息事件過程本章目錄30例2.0 在命令按鈕的Click事件過程,改變按鈕的字體顏色. 代碼說明 注意:在代碼窗,自動(dòng)產(chǎn)生事件過程的模板,不要修改模板的內(nèi)容,只需鍵入過程的代碼。一個(gè)動(dòng)作可能同時(shí)發(fā)生多個(gè)事件。例如單擊鼠標(biāo)同時(shí)發(fā)生了:C
12、lick、MouseDown、MouseUp事件編程時(shí),只要對(duì)需要的事件過程編碼,無(wú)編碼的事件為空事件,系統(tǒng)就不處理該事件過程。本章目錄31事件驅(qū)動(dòng)程序設(shè)計(jì)方式: 程序執(zhí)行的先后次序與程序設(shè)計(jì)者無(wú)關(guān),取決于用戶的操作。VB.NET程序的執(zhí)行步驟: 啟動(dòng)應(yīng)用程序,裝載和顯示窗體; 窗體(或窗體上的控件)等待事件的發(fā)生; 事件發(fā)生時(shí),執(zhí)行對(duì)應(yīng)的事件過程; 重復(fù)執(zhí)行步驟和。事件驅(qū)動(dòng)程序設(shè)計(jì)本章目錄32方法面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,為程序設(shè)計(jì)人員提供了一種特殊的過程和函數(shù),稱為方法。方法是面向?qū)ο蟮?,調(diào)用時(shí)一定要指明對(duì)象。對(duì)象方法的調(diào)用格式為: 對(duì)象.方法 參數(shù)名表若省略對(duì)象,表示當(dāng)前對(duì)象,一般指窗體。
13、例如:Textbox1.Focus此語(yǔ)句使Textbox1控件獲得焦點(diǎn),光標(biāo)在本文框內(nèi)閃爍。 本章目錄332.2 建立簡(jiǎn)單的應(yīng)用程序 例2.1 編寫一個(gè)人民幣與美圓兌換的程序。建立一個(gè)應(yīng)用程序分為以下幾步進(jìn)行:(1) 建立用戶界面的對(duì)象(2) 對(duì)象屬性的設(shè)置(3) 對(duì)象事件過程及編程(4) 保存和運(yùn)行程序本章目錄代碼說明34對(duì)象事件過程及編程 代碼窗口的對(duì)象列表框可顯示窗體所有對(duì)象 過程列表框列出所選中對(duì)象的所有事件例如,在按鈕Button2的Click事件加入代碼:Sub Button2_Click(ByVal sender As System.Object, _ByVal e As Sys
14、tem.EventArgs) Handles Button2.ClickTextBox1.Text = Val(TextBox3.Text) * Val(TextBox2.Text)End SubVal( )函數(shù) 將數(shù)字字符轉(zhuǎn)換成數(shù)值型 本章目錄35保存程序和文件組成 程序存盤后將建立一個(gè)文件夾,包含如下內(nèi)容: (1)xxx.sln 項(xiàng)目關(guān)聯(lián)、配置等的信息 (2) xxx.suo 開發(fā)環(huán)境選項(xiàng)的信息(3) xxx.vbproj 項(xiàng)目文件(4)Form1.vb 窗體文件(5)AssemblyInfo.vb 項(xiàng)目集合信息(系統(tǒng)自動(dòng)建立)(6) xxx.exe 可執(zhí)行文件(在Bin文件夾)(7)Bi
15、n文件夾 可執(zhí)行文件的默認(rèn)路徑, 可用Application.StartupPath()獲得該路徑。(8)Debug 文件夾 存放程序調(diào)試產(chǎn)生的信息 本章目錄36372.3 窗體和基本控件 2.3.1 通用屬性 屬性設(shè)置兩種方式: 通過屬性窗口設(shè)置 在代碼設(shè)計(jì)窗口通過代碼來(lái)設(shè)置 用代碼設(shè)置時(shí),需要用不同方式表示不同的類型本章目錄382.3.1 通用屬性(1) Name 所有對(duì)象都具有的屬性,表示所創(chuàng)建的對(duì)象名稱。在程序中通過對(duì)象名稱來(lái)引用對(duì)象,不會(huì)顯示在窗體上。(2) Text 用于在窗體上顯示對(duì)象的文本TextBox控件的Text還可以獲取輸入信息本章目錄39(3) 控件布局屬性控件布局由L
16、ocation、Size來(lái)實(shí)現(xiàn),它們各有一對(duì)整數(shù)來(lái)表示,整數(shù)單位為像素。Location 控件左上角位置, Size 控件大小例如,命令按鈕控件布局Button1.Location = New Point(88, 48)Button1.Size = New Size(80, 32)也可用Left、Top定位;用Width和Height來(lái)表示控件的寬度和高度。本章目錄等效的語(yǔ)句設(shè)置: Button1.Left = 88 Button1.Top = 48 Button1.Width = 80 Button1.Height = 32 40(4) Font 屬性值是Font類的對(duì)象,一般通過Font屬
17、性對(duì)話框設(shè)置若在程序代碼中需要改變文本的外觀,則應(yīng)通過New創(chuàng)建 Font 對(duì)象來(lái)改變字體。例如:Label1.Font = New System.Drawing.Font(Arial, 10)本章目錄41(5) ForeColor、BackColor 顏色屬性 ForeColor 控件正文前景色 BackColor 背景色例調(diào)色板本章目錄42(6) Dock 控件放置靠窗體邊框的位置,屬性值是DockStyle枚舉類型,有六個(gè)枚舉值(7) Enabled、Visible 控件的有效、可見性本章目錄(8) TabIndex 按Tab鍵時(shí),焦點(diǎn)在各個(gè)控件移動(dòng)的順序EnabledVisibleTr
18、ue允許用戶操作程序運(yùn)行時(shí)控件可見 False禁止用戶操作運(yùn)行時(shí)控件不可見432.3.2 窗體 窗體是一塊畫布,是所有控件的容器,可以根據(jù)需要利用工具箱上的控件在窗體上畫界面。1. 主要屬性本章目錄44窗體-屬性(1) MaximizeBox、MinimizeBox 設(shè)置為True,窗體上有最大(小)化按鈕;為False時(shí)無(wú)最大(小)化按鈕(2) Icon、ControlBox 窗體圖標(biāo)、控制菜單ControlBox 屬性為True,窗體上有控制菜單框;為False時(shí)無(wú)控制菜單(系統(tǒng)將MaxButton和MinButton自動(dòng)設(shè)置為False)(3) BackgroundImage 窗體背景圖
19、案(4) FormBorderStyle 窗體的邊框類型本章目錄45窗體-事件 最常用的事件有Click、DoubleClick和LoadLoad事件 窗體裝入內(nèi)存時(shí)觸發(fā)(應(yīng)用程序啟動(dòng)時(shí)自動(dòng)執(zhí)行該事件),常用來(lái)在啟動(dòng)時(shí)對(duì)屬性和變量初始化。例2.2 編寫三個(gè)事件過程,要求如下:?jiǎn)?dòng)窗體,在標(biāo)題欄顯示“裝入窗體”,并將#bmp作為背景圖平鋪窗體、窗體邊框?yàn)镕ixed3D;單擊窗體,標(biāo)題欄顯示對(duì)應(yīng)的文字、裝入tongji-2.bmp圖片大小為264256,要求圖片正好充滿窗體。雙擊窗體,標(biāo)題欄顯示對(duì)應(yīng)的文字、窗體無(wú)最大化和最小化按鈕,清除裝入的圖片。代碼說明本章目錄462.3.3 標(biāo)簽-
20、屬性標(biāo)簽用來(lái)顯示文本信息(不能輸入) 除Name、Font、Size、Location、Enable等屬性外,其它主要屬性: (1)Text、TextAlign:設(shè)置顯示的文本、文本的對(duì)齊方式TextAlign 屬性是枚舉類型(從1開始),提供標(biāo)簽控件上文本的9種對(duì)齊方式本章目錄47(2) BackColor 背景色(默認(rèn)與窗體背景相同)。若要以透明方式顯示,需要設(shè)置Color枚舉類型的Transparent。(3) BorderStyle 標(biāo)簽控件邊框樣式 None 控件周圍沒有邊框(默認(rèn)值) FixedSingle 控件帶有單邊框 Fixed3D 控件帶有立體邊框(4) AutoSize
21、控件是否能自動(dòng)調(diào)整大小當(dāng)值為False,保持控件原設(shè)計(jì)時(shí)的大小,正文若太長(zhǎng)則顯示其中的一部分。本章目錄48(5) Image、ImageAlign 設(shè)置控件的背景圖案和圖案對(duì)齊方式ImageAlign屬性與TextAlign類似通過代碼設(shè)置圖案:標(biāo)簽名.Image = Image.FromFile(圖片名)例2.3 在4個(gè)標(biāo)簽中存放4個(gè)方向的“手指”圖片,當(dāng)單擊某方向時(shí),利用“Dock”屬性定位第5個(gè)標(biāo)簽、并顯示相關(guān)信息。 代碼說明本章目錄492.3.4 文本框 文本框是一個(gè)文本編輯區(qū)域,可以在該區(qū)域輸入、編輯、修改和顯示正文內(nèi)容。(1) Text 顯示或輸入的正文內(nèi)容(2) Maxlengt
22、h 設(shè)置文本框可輸入的文字最大長(zhǎng)度。默認(rèn)值為32767,表示可以輸入任意長(zhǎng)字符串。注意:在VB.NET中字符長(zhǎng)度以字為單位,也就是一個(gè)西文字符與一個(gè)漢字都是一個(gè)字,長(zhǎng)度為1。 本章目錄50(3) MultiLine 多行屬性設(shè)置為True時(shí),文本框可以輸入或顯示多行正文,同時(shí)具有文字處理器的自動(dòng)換行功能,按Enter鍵可插入一空行。(4) ScrollBars 滾動(dòng)條屬性 None 無(wú)滾動(dòng)條 Horizontal 水平滾動(dòng)條 Vertical 垂直滾動(dòng)條 Both 同時(shí)加水平和垂直滾動(dòng)條當(dāng)MultiLine為True時(shí),ScrollBars才有效本章目錄51(5) PassWordChar 設(shè)
23、置顯示文本的替代符。例如,當(dāng)設(shè)置為“*”,則在文本框輸入的內(nèi)容均以“*”顯示,而存儲(chǔ)的值是用戶輸入的原文。一般用于設(shè)置口令的輸入。(6) ReadOnly 指定文本控件是否可被編輯,默認(rèn)值為False(可編輯),當(dāng)設(shè)置為True時(shí),文本控件相當(dāng)于標(biāo)簽控件的作用。 本章目錄52(7)文本內(nèi)容進(jìn)行選擇操作SelectionStart 選定的正文開始位置SelectionLength 選定的正文長(zhǎng)度SelectedText 選定的正文內(nèi)容例2.4 利用屬性實(shí)現(xiàn)對(duì)文本信息的拷貝本章目錄代碼說明53文本框-事件(1) TextChanged事件當(dāng)Text屬性值發(fā)生改變時(shí)引發(fā)該事件例 在文本框每輸入一個(gè)字
24、符就引發(fā)一次事件(2) KeyPress事件按下并且釋放鍵盤上的一個(gè)鍵時(shí),引發(fā)焦點(diǎn)所在控件的KeyPress事件,所按鍵的值存放在參數(shù)e.KeyChar中例 對(duì)回車的判斷 Asc(e.KeyChar)=13本章目錄54(3) LostFocus事件對(duì)象失去焦點(diǎn)時(shí)發(fā)生LostFocus事件該事件主要是用來(lái)對(duì)數(shù)據(jù)進(jìn)行驗(yàn)證和確認(rèn),常用于檢查Text屬性的內(nèi)容。(4) GotFocus事件GotFocus事件與LostFocus事件相反,當(dāng)一個(gè)對(duì)象獲得焦點(diǎn)時(shí)發(fā)生本章目錄55文本框-方法文本框最有用的方法是Focus,把光標(biāo)移到指定的文本框中。其形式如下: 對(duì)象. Focus例2.5 對(duì)輸入的數(shù)據(jù)進(jìn)行合
25、法性檢驗(yàn),過濾不合法的數(shù)據(jù)。本章目錄代碼說明562.3.5 命令按鈕 用于程序運(yùn)行時(shí)執(zhí)行相應(yīng)的事件1. 屬性(1) Text 命令按鈕上顯示的文字(2) FlatStyle 按鈕的外觀該屬性有4個(gè)枚舉值: Flat 以平面顯示按鈕 Popup 鼠標(biāo)在按鈕上以Flat形式顯示,否則以Standand顯示 Standand 以三維效果顯示(默認(rèn)) System 由操作系統(tǒng)決定外觀形式本章目錄57命令按鈕 (3) BackGroundImage(4) TextAlign、ImageAlign設(shè)置文本、圖形在按鈕上的對(duì)齊方式2. 事件 命令按鈕一般接收Click事件 本章目錄58InputBox函數(shù)
26、打開一個(gè)對(duì)話框,等待用戶輸入,返回字符串類型的輸入值。形式:InputBox(提示,標(biāo)題,默認(rèn)值,x坐標(biāo)位置,y坐標(biāo)位置)提示項(xiàng)不能省略。例2.6利用InputBox輸入基本工資和營(yíng)業(yè)額,按營(yíng)業(yè)額的5%提成,計(jì)算實(shí)發(fā)工資并顯示。 數(shù)據(jù)輸出和輸入本章目錄代碼說明59MsgBox函數(shù)形式: 變量% = MsgBox(提示,按鈕,標(biāo)題)MsgBox過程形式: MsgBox 提示,按鈕,標(biāo)題 MsgBox函數(shù)和MsgBox過程 本章目錄60MsgBox按鈕設(shè)置 第3個(gè)按鈕為默認(rèn)512VB.NETDefaultButton3第2個(gè)按鈕為默認(rèn) 256VB.NETDefaultButton2第1個(gè)按鈕為默認(rèn)
27、 0VB.NETDefaultButton1默認(rèn)按鈕 信息圖標(biāo) 64VB.NETInformation警告信息圖標(biāo) 48VB.NETExclamation詢問信息圖標(biāo) 32VB.NETQuestion關(guān)鍵信息圖標(biāo) 16VB.NETCritical圖標(biāo)類型 重試、取消按鈕 5VB.NETRetryCancel是、否按鈕 4VB.NETYesNo是、否、取消按鈕 3VB.NETYesNoCancel終止、重試、忽略按鈕 2VB.NETAboutRetryIgnore確定、取消按鈕 1VB.NETOkCancel確定按鈕 0VB.NETOkOnly按鈕數(shù)目 描 述值內(nèi) 部 常 數(shù)分組 本章目錄61M
28、sgBox所選按鈕返回值 例2.7 編一賬號(hào)和密碼輸入的檢驗(yàn)程序,當(dāng)輸入不正確,如賬號(hào)為非數(shù)字字符,密碼不正確等,顯示有關(guān)信息,再輸入。VBNo7否VBYes6是VBIgnore5忽略VBRetry4重試VBAbort3終止VBCancel2取消VBOk1確定內(nèi)部常數(shù)返回值被單擊的按鈕NoYesIgnoreRetryAbortCancelOk枚舉值 本章目錄代碼說明62本章小節(jié)類是同種對(duì)象的集合與抽象,包含所創(chuàng)建對(duì)象的屬性描述和行為特征的定義,是創(chuàng)建對(duì)象實(shí)例的模板。對(duì)象三要素:屬性、事件、方法屬性的類型:窗體 是所有控件的容器基本控件 標(biāo)簽、文本框、命令按鈕本章目錄63第三章 VB.NET語(yǔ)言
29、基礎(chǔ) 3.1 變量、常量與數(shù)據(jù)類型3.2 運(yùn)算符和表達(dá)式3.3 常用函數(shù)3.4 程序結(jié)構(gòu)和編碼規(guī)則3.5 綜合應(yīng)用本章目錄643.1 變量、常量和數(shù)據(jù)類型例如表達(dá)式: 3.14*2*r3.1.1變量概述 變量 在程序運(yùn)行中其存儲(chǔ)的值可以改變命名規(guī)則: 必須以字母或漢字開頭,由字母、漢字、數(shù)字或下劃線組成,長(zhǎng)度小于等于255個(gè)字符 不能使用VB.NET中的關(guān)鍵字(P42) VB.NET不區(qū)分變量名的大小寫;常量全部用大寫字母表示本章目錄653.1.2 數(shù)據(jù)類型 本章目錄Boolean2True或FalseInteger%4Single!4Double#8Date8Char2String$4663
30、.1.3變量聲明 1. 用Dim語(yǔ)句顯式聲明變量 Dim 變量名 As 類型=初始值A(chǔ)s部分缺省,創(chuàng)建的變量為Object類型初始值子句,表示給聲明的變量賦值一條Dim語(yǔ)句可同時(shí)定義多個(gè)變量,由逗號(hào)分隔,這時(shí)不能給變量賦初值。例如:Dim m,n,j As Integer,x,y As Single,k k為Object類型 本章目錄673.1.4 常量 常量是在程序運(yùn)行中不變的量,VB.NET中有三種常量:直接常量 其常數(shù)值直接反映了其類型 符號(hào)常量 用戶聲明,便于程序閱讀或修改Const 符號(hào)常量名 As 類型 = 表達(dá)式系統(tǒng)常量 系統(tǒng)提供許多內(nèi)部常量和枚舉 例如:vbCrLf 回車/換行
31、組合符 枚舉 如控件的顏色、邊框線型等 本章目錄683.2 運(yùn)算符和表達(dá)式 運(yùn)算符是表示實(shí)現(xiàn)某種運(yùn)算的符號(hào)。VB.NET中的運(yùn)算符可分算術(shù)運(yùn)算符、字符串運(yùn)算符、關(guān)系運(yùn)算符和邏輯運(yùn)算符四類。本章目錄693.2.1 算術(shù)運(yùn)算符(P55)例:5+10 mod 10 9 / 3+2 2 結(jié)果? 注意:對(duì)算術(shù)運(yùn)算符兩邊的操作數(shù)應(yīng)是數(shù)值型,若是數(shù)字字符或邏輯型,則自動(dòng)轉(zhuǎn)換成數(shù)值類型后再運(yùn)算。例如:30-True結(jié)果是31,True自動(dòng)轉(zhuǎn)為數(shù)值-1,F(xiàn)alse轉(zhuǎn)為數(shù)值0False + 10 + 4 結(jié)果是14本章目錄70字符串運(yùn)算符& 萬(wàn)能型+ 有條件(左右都是字符串) 1)數(shù)值型:則進(jìn)行算術(shù)加運(yùn)算; 2)
32、一個(gè)為數(shù)字字符,另一個(gè)為數(shù)值,自動(dòng)將數(shù)字字符轉(zhuǎn)換為數(shù)值后進(jìn)行算術(shù)加; 3)一個(gè)為非數(shù)字字符,另一個(gè)為數(shù)值型,出錯(cuò)。 操作 結(jié)果 操作 結(jié)果ab & 123 ab123 ab + 12 出錯(cuò)12 & 456 12456 12 + 456 468 12 & True 12True12 + True 11注意: 在變量后使用運(yùn)算符時(shí),變量與間應(yīng)加一個(gè)空格 本章目錄71關(guān)系運(yùn)算符關(guān)系運(yùn)算符是雙目運(yùn)算符,作用是對(duì)兩個(gè)操作數(shù)進(jìn)行大小比較,若關(guān)系成立,則返回True,否則返回False。操作數(shù)可以是數(shù)值型、字符型。本章目錄運(yùn)算符例結(jié)果= ABCDE = ABR False ABCDE ABR False=
33、bc = abcde True233False= 23 = 3 True abc abcde True72“1”“2”“A”“B”“a” 字符串2; 3.如果 字符串1的第n位的ASCII碼值 小于 字符串2的第n位的ASCII碼值 則 輸出結(jié)果:-1 表示字符串1 字符串2; 4.如果 每一位的ASCII碼值都相等,而且長(zhǎng)度相同, 則 輸出結(jié)果:0 表示字符串1 = 字符串2; 5.如果 字符串1是字符串2的前m位,例如 abcd 與abcdef 比較, 則 字符串1字符串2.73邏輯運(yùn)算符 邏輯運(yùn)算符除Not是單目運(yùn)算符外,其余都是雙目運(yùn)算符,作用是將操作數(shù)進(jìn)行邏輯運(yùn)算,結(jié)果是邏輯值Tru
34、e或False。 本章目錄743.2.2表達(dá)式 1.組成 變量、常量、函數(shù)、運(yùn)算符和圓括號(hào)2.書寫規(guī)則 運(yùn)算符不能相鄰 例a+ /b是錯(cuò)誤的,a+-b呢? 乘號(hào)不能省略 例x 乘以y 應(yīng)寫成:x*y 括號(hào)必須成對(duì)出現(xiàn)(均使用圓括號(hào)) 表達(dá)式從左到右書寫3. 不同數(shù)據(jù)類型的轉(zhuǎn)換 運(yùn)算結(jié)果的數(shù)據(jù)類型向精度高的數(shù)據(jù)類型靠 IntegerLongSingle字符運(yùn)算符關(guān)系運(yùn)算符邏輯運(yùn)算本章目錄75表達(dá)式書寫舉例a*b*c*d/e/f/g 或 a*b*c*d/(e*f*g) 例邏輯表達(dá)式書寫,選拔優(yōu)秀生的條件為:年齡(Age)小于19歲,三門課總分(Total)高于285分,其中有一門為100分,如果其
35、表達(dá)式寫為:Age285 And ( Mark1=100 Or Mark2=100 Or Mark3=100 )如果取消括號(hào)有何問題?sin(45*3.14/180)+(exp(10)+log(10)/sqrt(x+y+1)本章目錄763.3 常用函數(shù) (P465)3.3.1 名稱空間和類VB.NET通過名稱空間把類庫(kù)劃分為不同的組,將功能相近的類劃到相同的名稱空間。名稱空間,可以方便地組織應(yīng)用程序要使用的各個(gè)類。本章目錄773.3.1 名稱空間和類(2) 基礎(chǔ)類庫(kù)中的名稱空間和類類別名稱空間說 明 基本數(shù)據(jù)類型System 基本的和經(jīng)常使用的數(shù)據(jù)類型、事件和事件處理程序、接口、屬性和異常處理
36、等 編程基礎(chǔ)System.Collections System.IO對(duì)象集合文件管理及其輸入/輸出 圖形System.Drawing System.Windows.Forms GDI+ Windows的應(yīng)用程序的豐富用戶 數(shù)據(jù)庫(kù)System.Data ADO.NET的各種對(duì)象 本章目錄78名稱空間的使用 引用名稱空間的方法: 項(xiàng)目引用 新建一個(gè)項(xiàng)目時(shí),VB.NET根據(jù)所建項(xiàng)目類型,自動(dòng)導(dǎo)入部分名稱空間的引用 直接引用 給出名稱空間的全名,就可訪問其中的任一個(gè)類及其各項(xiàng)內(nèi)容 例 使用Math類開方函數(shù)sqrt: Label1.Text = system.Math.sqrt(100) Import
37、s語(yǔ)句導(dǎo)入 在代碼中就可直接使用名稱空間的類或成員。導(dǎo)入語(yǔ)句的格式: Imports 名稱空間 本章目錄793.3.2數(shù)學(xué)函數(shù) .NET中的數(shù)學(xué)函數(shù)包含在Math類。使用前在模塊的開頭用語(yǔ)句 Imports System.Math導(dǎo)入-43Int(-3.5)Int(3.5) 取小于或等于N的最大整數(shù)Int(N)2.3Log(10)自然對(duì)數(shù)Log(N)-3 3Fix(-3.5)Fix(3.9)取整Fix(N)20.086Exp(3)exExp(N)1Cos(0)余弦函數(shù)Cos(N)3.5Abs(-3.5)取絕對(duì)值A(chǔ)bs(N)結(jié)果實(shí)例含義函數(shù)名本章目錄80數(shù)學(xué)函數(shù) 0Tan(0)正切函數(shù)Tan(N
38、)3Sqrt(9)平方根Sqrt(N)-1 Sgn(-3.5)符號(hào)函數(shù)Sgn(N) 0Sin(0)正弦函數(shù)Sin(N)-4 4Round(-3.5)Round(3.5)四舍五入取整Round(N)0,1)之間的數(shù)Rnd產(chǎn)生隨機(jī)數(shù)Rnd(N)結(jié)果實(shí)例含義函數(shù)名Rnd函數(shù)返回0和1(包括0但不包括1)之間的雙精度隨機(jī)數(shù). 每次運(yùn)行時(shí),要產(chǎn)生不同序列的隨機(jī)數(shù),先執(zhí)行Randomize 語(yǔ)句。產(chǎn)生ab的之間的隨機(jī)整數(shù):Int(Rnd *(b-a+1)+a)本章目錄813.3.3 轉(zhuǎn)換函數(shù) ABCUcase$(abc)小寫字母轉(zhuǎn)為大寫字母Ucase(C)144Oct$(100)十進(jìn)制轉(zhuǎn)換成八進(jìn)制Oct$
39、 (N)123.45Str$(123.45)數(shù)值轉(zhuǎn)換為字符串Str(N)123Val(123AB)數(shù)字字符串轉(zhuǎn)換為數(shù)值Val(C) abcLcase$(ABC)大寫字母轉(zhuǎn)為小寫字母Lcase$(C)64Hex(100)十進(jìn)制轉(zhuǎn)換成十六進(jìn)制Hex(N)AChr$(65)ASCII碼值轉(zhuǎn)換成字符Chr(N)2003-11-13CDate(2003/11/13)轉(zhuǎn)換成日期型CDate65Asc(A)字符轉(zhuǎn)換成ASCII碼值A(chǔ)sc(C)結(jié)果實(shí)例功能 函數(shù)名本章目錄823.3.4 字符串函數(shù) System.String類的成員(函數(shù)) 本章目錄BCDMid(ABCDE,2,3)取字符子串Mid(C,N1
40、,N2)ABCDTrim(ABCD)去掉字符串兩邊空格Trim(C)A3AB3 Replace(ACDABCD,CD,3) 用C2替代C1Replace(C,C1,C2) Space(3) 產(chǎn)生N個(gè)空格的字符串 Space(N)4Len(AB教育)字符串長(zhǎng)度Len(C)ABCLeft(ABCDE,3)取字符串左邊n個(gè)字符Left(C,N)7InStr(2,EFABCDEFG,EF)從n開始,在C1中找C2InStr(N,C1,C2,M)結(jié)果實(shí)例說明 函數(shù)名83字符串函數(shù) ABCD TRim(“ABCD)去掉字符串兩邊的空格TRim(C)DCBAStrReverse(ABCD)將字符串反序Str
41、Reverse(C)AAAString(3,ABC)重復(fù)首字符n次String(N,C)S(0)=123 S(1)=“abS=Split(123,ab,)將字符串分隔成字符數(shù)組。與Join作用相反Split(C,D)“Space(3)產(chǎn)生n個(gè)空格的字符串Space(N)ABCDRTrim(ABCD)去掉字符串右邊空格RTrim(C)“BCDRight(ABCD,3)取字符串右邊n個(gè)字符Right(C,N)結(jié)果實(shí)例說明 函數(shù)名本章目錄注意:Left和Right函數(shù)必須加限定:Microsoft.Visualbasic否則認(rèn)為是控件的相應(yīng)屬性843.3.5 日期函數(shù) Second(#1:12:56
42、PM#)返回秒(059)Second(C|N)TimeOfDay返回系統(tǒng)時(shí)間TimeOfDay()Year(365)返回年代號(hào)(17532078)Year(C|N)Now返回系統(tǒng)日期和時(shí)間NowMonth(2003,05,01)返回月份代號(hào)(112)Month(C|N)Minute(#1:12:56PM#)返回分鐘(059)Minute(C|N)Hour(#1:12:56PM#)返回小時(shí)(024)Hour(C|N)Day(2003,05,01)返回日期代號(hào)(131)Day(C|N)Date返回系統(tǒng)日期Date()實(shí)例說明 函數(shù)名本章目錄853.3.6 Shell函數(shù) Shell函數(shù)可調(diào)用各種應(yīng)
43、用程序。格式如下:Shell(命令字符串,1)命令字符串為要執(zhí)行的應(yīng)用程序名(包括路徑),必須是可執(zhí)行文件(.exe、.bat)。第二參數(shù)為枚舉中選擇的值,該枚舉與要在其中運(yùn)行程序的窗口樣式相對(duì)應(yīng)。如果省略Style,則Shell使用 AppWinStyle.MinimizedFocus,這將使程序以最小化啟動(dòng)并具有焦點(diǎn)。函數(shù)調(diào)用成功返回一個(gè)任務(wù)標(biāo)識(shí)ID,不成功,則返回0。 例 i = Shell(C:WINDOWSsystem32calc.exe,1) 本章目錄863.4 程序結(jié)構(gòu)和編碼規(guī)則 本章目錄87程序結(jié)構(gòu)和編碼規(guī)則 編碼規(guī)則(1) VB.NET代碼不區(qū)分字母的大小寫關(guān)鍵字 首字母自動(dòng)
44、轉(zhuǎn)換成大寫,其余字母轉(zhuǎn)換成小寫。(2) 語(yǔ)句書寫自由一行上可書寫多句語(yǔ)句(用冒號(hào)分隔),一行最多255個(gè)字符。單行語(yǔ)句可分若干行書寫,在本行后加入續(xù)行符(空格和下劃線)。本章目錄883.5 綜合應(yīng)用例3.3 模仿字處理軟件中字符串替換功能和字幕滾動(dòng)。設(shè)計(jì)思路:利用Shell函數(shù)調(diào)用winword.exe執(zhí)行Word程序觀察其替換對(duì)話框。本例字符串替換功能實(shí)現(xiàn)方法:利用替換(Replace)函數(shù)實(shí)現(xiàn)標(biāo)題顯示:Form1.Caption=Space(n) & 顯示文字 要產(chǎn)生滾動(dòng)效果,可用時(shí)鐘(Timer1)控件和Space函數(shù),改變空格數(shù)達(dá)到自右向左滾動(dòng)字幕效果。本章目錄89本章小節(jié)變量:在程序
45、運(yùn)行中其存儲(chǔ)的值可以改變 值類型變量、引用類型變量 變量聲明 Dim 變量名 As 類型=初始值運(yùn)算符 算術(shù)運(yùn)算符、字符串運(yùn)算符、關(guān)系運(yùn)算符和邏輯運(yùn)算符名稱空間導(dǎo)入 Imports 名稱空間 數(shù)學(xué)函數(shù)使用 Imports System.MathShell函數(shù) 調(diào)用各種應(yīng)用程序本章目錄90第四章 基本的控制結(jié)構(gòu)4.1 順序結(jié)構(gòu)4.2 選擇結(jié)構(gòu)4.3 循環(huán)結(jié)構(gòu)4.4 其它輔助控制語(yǔ)句4.5 綜合應(yīng)用4.6 程序調(diào)試本章目錄914.1 順序結(jié)構(gòu) VB.NET也具有結(jié)構(gòu)化程序設(shè)計(jì)的三種結(jié)構(gòu)順序結(jié)構(gòu)選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)它們是程序設(shè)計(jì)的基礎(chǔ)。本章目錄924.1.1 賦值語(yǔ)句 形式: 變量名表達(dá)式計(jì)算右邊表達(dá)式
46、的值,然后賦給左邊的變量。sngRate=0.1 sngRate為單精度變量,賦值0.1TextBox1.Text 清除文本框的內(nèi)容TextBox1.Text 歡迎使用VB.Net 本章目錄93復(fù)合賦值語(yǔ)句 復(fù)合賦值運(yùn)算符,其作用簡(jiǎn)化程序代碼。語(yǔ)句形式: 變量名 復(fù)合賦值運(yùn)算符 表達(dá)式復(fù)合賦值運(yùn)算符:+=、-=、*=、=、/=、=、&=例如:a *= b+4 等價(jià)于 a = a*(b+4)本章目錄94常用復(fù)合賦值語(yǔ)句 累加 sum +=x 等價(jià)于 sum = sum+x計(jì)數(shù) n += 1 等價(jià)于 n = n+1顯示多行信息 利用 &= 來(lái)實(shí)現(xiàn)例如:TextBox1.Text = VB.NET
47、& vbCrLfTextBox1.Text &= 程序設(shè)計(jì)教程本章目錄95賦值語(yǔ)句注意點(diǎn) 賦值語(yǔ)句不允許寫成 表達(dá)式變量。 賦值號(hào)左邊的變量只能是變量或?qū)ο?屬性,不能是常量、常數(shù)符號(hào)、表達(dá)式。下面均為錯(cuò)誤的賦值語(yǔ)句:Now()=x+y 左邊是表達(dá)式(函數(shù))5=sqrt(s)+x+y 左邊是常量本章目錄964.2 選擇結(jié)構(gòu) VB.NET中提供了多種形式的條件語(yǔ)句來(lái)實(shí)現(xiàn)選擇結(jié)構(gòu),有If條件語(yǔ)句和Select情況語(yǔ)句等。它們都是對(duì)條件進(jìn)行判斷,根據(jù)判斷結(jié)果,選擇執(zhí)行不同的分支。 本章目錄974.2.1 If條件語(yǔ)句 1. IfThen語(yǔ)句(單分支結(jié)構(gòu)) If Then 語(yǔ)句塊(可以是一句或多句語(yǔ)句
48、) End If或 If Then 表達(dá)式:關(guān)系表達(dá)式、邏輯表達(dá)式,算術(shù)表達(dá)式。該語(yǔ)句的作用是當(dāng)表達(dá)式的值為True,執(zhí)行Then后面的語(yǔ)句塊,否則不做任何操作。本章目錄IF演示98單分支結(jié)構(gòu) 例:已知兩個(gè)數(shù)x和y,比較它們的大小,使得x大于y。 If xy Then t=x x=y y=t End If 或 If xy Then t=x: x=y: y=t 簡(jiǎn)單If形式無(wú)End If時(shí),只能是一句語(yǔ)句或語(yǔ)句間用冒號(hào)分隔,而且必須在一行上書寫。 本章目錄99雙分支結(jié)構(gòu)2. IfThenElse語(yǔ)句If 表達(dá)式 Then語(yǔ)句塊1Else語(yǔ)句塊2End If或 If 表達(dá)式 Then 語(yǔ)句1 El
49、se 語(yǔ)句2 當(dāng)表達(dá)式的值為True時(shí),執(zhí)行Then后面的語(yǔ)句塊1,否則執(zhí)行Else后面的語(yǔ)句塊2 本章目錄100雙分支結(jié)構(gòu)例計(jì)算分段函數(shù) 單分支 if x = 0 then y=cos(x)x3+3*x 結(jié)構(gòu)實(shí)現(xiàn) If x0 Then y=sin(x)+sqrt (x*x+1) If x0 Then 雙分支 y=sin(x)+sqr (x*x+1) Else結(jié)構(gòu)實(shí)現(xiàn) y=cos(x)x3+3*x End If本章目錄101多分支結(jié)構(gòu) 3. IfThenElseIf 語(yǔ)句 If 表達(dá)式1 Then 語(yǔ)句塊1 ElseIf 表達(dá)式2 Then 語(yǔ)句塊2 Else 語(yǔ)句塊 n+1 End If作用
50、:根據(jù)不同的表達(dá)式值確定執(zhí)行哪個(gè)語(yǔ)句塊 本章目錄102例4.5 已知變量ch中存放了一個(gè)字符,判斷該字符是字母字符、數(shù)字字符還是其他字符。 If UCase(ch) = A And UCase(ch) = 0 And ch = 9 Then 數(shù)字字符 MsgBox(ch + 是數(shù)字字符) Else 除上述字符以外的字符 MsgBox(ch + 是其他字符) End If不管有幾個(gè)分支,依次判斷,當(dāng)某條件滿足,執(zhí)行相應(yīng)的語(yǔ)句,其余分支不再執(zhí)行;若條件都不滿足,且有Else子句,則執(zhí)行該語(yǔ)句塊,否則什么也不執(zhí)行。 ElseIf不能寫成 Else If多分支結(jié)構(gòu)例本章目錄注意問題103If語(yǔ)句的嵌套
51、是指If或Else后面的語(yǔ)句塊中又包含If語(yǔ)If 表達(dá)式1 Then If 表達(dá)式2 Then End If End IfIf xy Then t=x: x=y: y=t If yz Then t=y: y=z: z=t If xyz用一個(gè)IF語(yǔ)句和一個(gè)嵌套的IF語(yǔ)句實(shí)現(xiàn)本章目錄1044.2.2 Select Case語(yǔ)句 Select Case 變量或表達(dá)式 Case 表達(dá)式列表1 語(yǔ)句塊1 Case 表達(dá)式列表2 語(yǔ)句塊2 Case Else 語(yǔ)句塊n+1End Select表達(dá)式列表與變量或表達(dá)式的類型必須相同,是下面4種形式之一 :表達(dá)式 例: A一組用逗號(hào)分隔的枚舉值 2,4,6,8
52、 表達(dá)式1 To 表達(dá)式2 60 To 100Is 關(guān)系運(yùn)算符表達(dá)式 Is 0 And y 0 Then MsgBox(在第一象限) ElseIf x 0 Then MsgBox(在第二象限)ElseIf x 0 And y 0 And y 0 And y 0 MsgBox(“在第一象限”) Case x 0 MsgBox(“在第二象限”) Case x 0 And y 0 And y y,x,y) 該語(yǔ)句與如下語(yǔ)句等價(jià) :If x y Then Tmax = x Else Tmax = y 本章目錄1084.2.3 條件函數(shù) (2) Choose函數(shù) Choose(整數(shù)表達(dá)式,選項(xiàng)列表)根據(jù)
53、表達(dá)式的值i,返回選項(xiàng)列表中第i個(gè)選項(xiàng)。如果整數(shù)表達(dá)式的值越出選項(xiàng)范圍時(shí),返回Null。例 根據(jù)Nop的值,得到+、-、中的某運(yùn)算符:Op= Choose(Nop,+,-,) 本章目錄Dim nop As Integer, op As CharRandomize()nop = Int(Rnd() * 4 + 1)op = Choose(nop, +, -, , )MsgBox(nop= & nop & op= & op)1094.3 循環(huán)結(jié)構(gòu)(上機(jī)實(shí)驗(yàn)msgbox) 計(jì)算機(jī)最擅長(zhǎng)的功能之一就是按規(guī)定的條件,重復(fù)執(zhí)行某些操作。VB.NET中提供了兩種類型的循環(huán)語(yǔ)句:For Next循環(huán)Do Lo
54、op循環(huán) 本章目錄1104.3.1 For循環(huán)語(yǔ)句 For循環(huán)語(yǔ)句用于控制循環(huán)次數(shù)預(yù)知的循環(huán)結(jié)構(gòu)。For 循環(huán)變量 初值 To 終值 Step 步長(zhǎng)語(yǔ)句塊Exit For語(yǔ)句塊Next 循環(huán)變量循環(huán)變量必須為數(shù)值型。循環(huán)次數(shù) 0 初值終值 =1 時(shí),可省略終值=0 死循環(huán)步長(zhǎng)例4.9 計(jì)算1100的奇數(shù)和 本章目錄Dim i%, sum%For i = 1 To 100 Step 2 sum = sum + iNext iMsgBox(sum)111For循環(huán)語(yǔ)句 例4.10 將可打印的ASCII碼制成表格輸出 本章目錄例 判斷輸入的數(shù)是否為素?cái)?shù)素?cái)?shù)就是除1和本身以外,不能被其他任何整數(shù)整除的
55、數(shù)。根據(jù)此定義,判別某數(shù)m是否為素?cái)?shù)最簡(jiǎn)單的方法就是依次用i=2m-1去除,只要有一個(gè)數(shù)能整除m,m就不是素?cái)?shù);否則m是素?cái)?shù)。 112思 考 題打印以下圖形 * * * * * * * * * * * * * * * * *1134.3.2 DoLoop循環(huán)語(yǔ)句 Do循環(huán)用于控制循環(huán)次數(shù)未知的循環(huán)結(jié)構(gòu)。形式1: Do While|Until 語(yǔ)句塊 Exit Do 語(yǔ)句塊Loop形式1為先判斷后執(zhí)行,有可能一次也不執(zhí)行;形式2為先執(zhí)行后判斷,至少執(zhí)行一次。 例:列出輸入數(shù)在1100間的所有倍數(shù)形式2:Do 語(yǔ)句塊 Exit Do 語(yǔ)句塊Loop While|Until 本章目錄114循環(huán)例題例
56、4.11 我國(guó)有13億人口,按人口年增長(zhǎng)0.8%計(jì)算,多少年后我國(guó)人口超過26億。解此問題兩種方法,可根據(jù)公式:直接利用標(biāo)準(zhǔn)函數(shù)對(duì)數(shù)可求得,但求得的年數(shù)不為整數(shù);也可利用循環(huán)求得 。本章目錄115循環(huán)例題例4.12用輾轉(zhuǎn)相除法求兩自然數(shù)的最大公約數(shù)。求最大公約數(shù)的算法思想:(1)對(duì)于兩數(shù)m,n,使得mn(2) m除以n得余數(shù)r例 m=14 ,n=6 的最大公約數(shù)If m n Then t = m: m = n: n = tr=m mod nDo While (r 0) m=n n=r r= m mod nLoopMsgBox “最大公約數(shù)=” & n(3)若r=0,則n為最大公約數(shù),結(jié)束;否則
57、執(zhí)行(4)(4)mn,nr,再重復(fù)執(zhí)行(2)本章目錄代碼說明 流程圖1164.3.3 循環(huán)的嵌套 在一個(gè)循環(huán)體內(nèi)又包含了一個(gè)完整的循環(huán)結(jié)構(gòu)稱為循環(huán)的嵌套。循環(huán)嵌套對(duì)For循環(huán)語(yǔ)句和DoLoop語(yǔ)句均適用。例4.13 打印九九乘法表 思考:打印上三角或下三角程序如何改動(dòng)?本章目錄代碼說明117循環(huán)的嵌套一個(gè)循環(huán)體內(nèi)又包含了一個(gè)完整的循環(huán)結(jié)構(gòu)稱為循環(huán)的嵌套.對(duì)于循環(huán)的嵌套,要注意以下事項(xiàng):內(nèi)循環(huán)變量與外循環(huán)變量不能同名;外循環(huán)必須完全包含內(nèi)循環(huán),不能交叉;118 For i =1 To 10 For j=1 To 20 Next j Next i For i=1 To 10 For j=1 To
58、20 Next i Next j119 For i =1 To 10 For i=1 To 20 Next i Next i For i =1 To 10 Next i For i =1 To 10 Next i120循環(huán)的嵌套例:邏輯斷案。例:誰(shuí)做好事。1214.4 其他輔助控制語(yǔ)句 例4.14 判斷輸入的數(shù)是否為素?cái)?shù)素?cái)?shù)就是除1和本身以外,不能被其他任何整數(shù)整除的數(shù)。根據(jù)此定義,判別某數(shù)m是否為素?cái)?shù)最簡(jiǎn)單的方法就是依次用i=2m-1去除,只要有一個(gè)數(shù)能整除m,m就不是素?cái)?shù);否則m是素?cái)?shù)。 要求一定范圍內(nèi)的素?cái)?shù),只要將m作為外循環(huán)體變量。 本章目錄122例:求100以內(nèi)的所有素?cái)?shù)。For m
59、=2 to 100 Next mFor i=2 to m-1 if m mod i=0 then Exit For End ifNext iif i=m then Label1.text &= mEnd if1234.4.2 退出和結(jié)束語(yǔ)句 1.Exit語(yǔ)句VB中有多種形式的Exit語(yǔ)句,用于退出某種控制結(jié)構(gòu)的執(zhí)行。Exit的形式如下: Exit For、Exit Do、 Exit Sub、Exit Function2.End語(yǔ)句獨(dú)立的End語(yǔ)句用于結(jié)束一個(gè)程序的運(yùn)行,它可以放在任何事件過程中。本章目錄1244.5 綜合應(yīng)用 1. 自測(cè)四則運(yùn)算 例4.15 由計(jì)算機(jī)自動(dòng)產(chǎn)生四則運(yùn)算題,并能判斷
60、答案的正確性。設(shè)計(jì)思路:(1)通過隨機(jī)函數(shù)Rnd產(chǎn)生試題的操作數(shù)和運(yùn)算符,運(yùn)算符+、-、可對(duì)應(yīng)編號(hào)14。產(chǎn)生表達(dá)式通過Form_Load事件過程。(2)需要有一個(gè)全局變量保存四則運(yùn)算題的正確答案,用戶答案可通過文本框輸入。(3)本題主要將隨機(jī)函數(shù)、If語(yǔ)句、Select語(yǔ)句綜合在一起使用。本章目錄代碼說明125綜合應(yīng)用-級(jí)數(shù)求和例4.16求自然對(duì)數(shù)e的近似值,其誤差小于0.00001。近似公式 分析:本例涉及到程序設(shè)計(jì)中兩個(gè)重要運(yùn)算:累加 和連乘i!。累加是在原有和的基礎(chǔ)上再加一個(gè)數(shù);連乘則是在原有積的基礎(chǔ)上再乘以一個(gè)數(shù)。該題先求i!,再將1/i!進(jìn)行累加,循環(huán)次數(shù)預(yù)先未知,可先設(shè)置一個(gè)循環(huán)次
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 專賣店裝修項(xiàng)目承攬合同
- 倉(cāng)儲(chǔ)物流行業(yè)居間存款協(xié)議
- 辦公區(qū)翻新合同
- 物業(yè)人員疏散方案
- 通遼管道非開挖施工方案
- 2025年度安全產(chǎn)品銷售代表市場(chǎng)拓展合同
- 大數(shù)據(jù)四下數(shù)學(xué)試卷
- 買鋼筋合同范例
- 完善中小學(xué)體育教師隊(duì)伍建設(shè)的策略與實(shí)施途徑
- 臨時(shí)聘用廚師合同范例
- 2024年江蘇省公務(wù)員錄用考試《行測(cè)》題(A類)
- 工業(yè)自動(dòng)化生產(chǎn)線操作手冊(cè)
- 2024年10月時(shí)政100題(附答案)
- 《走進(jìn)神奇》說課稿
- 江蘇省無(wú)錫市2024年中考數(shù)學(xué)試卷(含答案)
- 2024年內(nèi)蒙古中考語(yǔ)文試卷五套合卷附答案
- 2024年保密知識(shí)測(cè)試試題及答案(奪冠)
- 湖南2024年湖南省衛(wèi)生健康委直屬事業(yè)單位招聘276人筆試歷年典型考題及考點(diǎn)附答案解析
- SF-36生活質(zhì)量調(diào)查表(SF-36-含評(píng)分細(xì)則)
- 五年級(jí)下冊(cè)語(yǔ)文教案 學(xué)習(xí)雙重否定句 部編版
- 不需公證的遺囑范文
評(píng)論
0/150
提交評(píng)論