版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1,Visual Basic.NET 程序設(shè)計(jì)教程,2,第一章 VB.NET基礎(chǔ) 第二章 簡(jiǎn)單的VB.NET程序設(shè)計(jì) 第三章 VB.NET語(yǔ)言基礎(chǔ) 第四章 基本的控制結(jié)構(gòu) 第五章 數(shù) 組 第六章 過 程 第七章 用戶界面設(shè)計(jì) 第八章 面向?qū)ο蟪绦蛟O(shè)計(jì)基礎(chǔ) 第九章 文 件 第十章 圖形應(yīng)用程序開發(fā) 第十一章 數(shù)據(jù)庫(kù)應(yīng)用程序開發(fā),目 錄,3,第一章 VB.NET基礎(chǔ),1.1 VB.NET概述 1.2 VB.NET集成開發(fā)環(huán)境 1.3 使用幫助系統(tǒng),本章目錄,4,1.1 VB.NET概述,1.1.1 Visual Basic的發(fā)展 20世紀(jì)60年出現(xiàn)Basic語(yǔ)言; 20世紀(jì)80年代,True Ba
2、sic、Quick Basic和Turbo Basic等; 1991年Microsoft公司推出Visual Basic1.0,以可視化工具為界面設(shè)計(jì)、結(jié)構(gòu)化Basic語(yǔ)言為基礎(chǔ),以事件驅(qū)動(dòng)為運(yùn)行機(jī)制。從1991年的VB1.0至1998年的V B6.0的多次版本升級(jí),功能更強(qiáng)大、完善,應(yīng)用面更廣; 2002年正式發(fā)布Visual Basic.NET。,本章目錄,5,1.1.2 Microsoft.NET概述,什么是.NET? . NET代表了一個(gè)集合、一個(gè)環(huán)境、一個(gè)編程的基本結(jié)構(gòu),作為一個(gè)平臺(tái)來支持下一代的Internet。 .NET也是一個(gè)用戶環(huán)境,是一組基本的用戶服務(wù),可以作用于客戶端、服
3、務(wù)器或任何地方 。 對(duì)初學(xué)VB的人來說,可以這樣認(rèn)為,.NET就是Visual Studio.NET。,本章目錄,6,Visual Studio.NET,本章目錄,7,1.1.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)行反彈。,本章目錄,8,引例,根據(jù)要求,用工具箱上的Label、Button、Timer等控件,在窗體上建立控件對(duì)象,進(jìn)行有關(guān)的屬性設(shè)置。,本章目錄,9,引例:編寫事件過程,本章目錄,
4、10,提供了易學(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),本章目錄,11,1.2 VB.NET的集成開發(fā)環(huán)境,1.2.1進(jìn)入VB.NET,啟動(dòng)Visual Studio.NET “起始頁(yè)”選擇“新建項(xiàng)目/打開項(xiàng)目”按鈕,Visual Basic項(xiàng)目,Windows應(yīng)用程序,本章目錄,12,VB.NET集成開發(fā)環(huán)境,本章目錄,13,1.2.2主窗口,三種工作模式 設(shè)計(jì)模式 界面的設(shè)計(jì)和代碼的編制 運(yùn)行模式
5、 運(yùn)行應(yīng)用程序 中斷模式 暫時(shí)中斷程序運(yùn)行,調(diào)試程序 2. 菜單欄 包括11個(gè)下拉菜單 3. 工具欄,本章目錄,14,1.2.3 窗體設(shè)計(jì)/代碼設(shè)計(jì)窗口,1.窗體設(shè)計(jì)器窗口 建立VB.NET應(yīng)用程序的界面(一個(gè)應(yīng)用程序可以有多個(gè)窗體,通過“項(xiàng)目|添加Windows窗體”命令增加新窗體)。 2.代碼設(shè)計(jì)窗口 專門用來進(jìn)行代碼設(shè)計(jì),包括各種事件過程、過程和類等源程序代碼的編寫和修改。 打開代碼設(shè)計(jì)窗口的方法:雙擊窗體、控件或單擊代碼窗口上方的選項(xiàng)卡組對(duì)應(yīng)項(xiàng)。,本章目錄,15,1.2.4 屬性窗口,窗體和控件稱為對(duì)象,每個(gè)對(duì)象用一組屬性來描述其外部特征,如顏色、大小等。 屬性窗口用于顯示和設(shè)置所選定
6、的對(duì)象的屬性。 屬性窗口由四部分組成: 對(duì)象和名稱空間列表框 屬性顯示排列方式 屬性列表框 屬性含義說明,本章目錄,16,1.2.5 解決方案資源管理器窗口,項(xiàng)目 一個(gè)獨(dú)立的編程單位(包含窗體文件及其他一些相關(guān)文件),若干項(xiàng)目組成一個(gè)解決方案 解決方案可以含有以下類型的文件: 解決方案文件(.sln) 可包括用不同語(yǔ)言開發(fā)的項(xiàng)目 項(xiàng)目文件(.vbproj) 由引用的組件和代碼模塊組成 代碼模塊文件(.vb) 包括窗體文件、類模塊或其他代碼文件,本章目錄,17,1.3 使用幫助系統(tǒng),動(dòng)態(tài)幫助 屬性窗口“動(dòng)態(tài)幫助”標(biāo)簽卡內(nèi) 索引 使用上下文相關(guān)的幫助 按“F1”鍵 網(wǎng)絡(luò)資源 通過,本章目錄,18,
7、本章小節(jié),Visual Studio.NET 一個(gè)支持下一代Internet的平臺(tái) VB.NET的三種工作模式 設(shè)計(jì)模式、運(yùn)行模式、中斷模式 組成,本章目錄,解決方案,項(xiàng)目,組件和代碼模塊,項(xiàng)目,組件和代碼模塊,19,第二章 簡(jiǎn)單的VB.NET程序設(shè)計(jì),2.1 VB.NET對(duì)象的概念 2.2 建立簡(jiǎn)單的應(yīng)用程序 2.3 窗體和基本控件 2.4 綜合應(yīng)用,本章目錄,20,2.1 Visual Basic對(duì)象的概念,2.1.1 對(duì)象和類 1.對(duì)象 對(duì)象就是日常生活中的某個(gè)實(shí)在的物體 例如,一個(gè)人、一輛汽車、一臺(tái)電腦。 對(duì)象都具有各自的特征(屬性)、行為(方法) 。 人有身高、體重、聽力等特征;也具
8、有起立、行走、說話、踢足球等行為。 在VB.NET中,將反映對(duì)象的屬性和行為封裝在一起,是面向?qū)ο缶幊痰幕驹亍?本章目錄,21,2.類的概念,類 同種對(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)稱控件)。,本章目錄,22,例如:工具箱內(nèi)的TextBox是類(它確定了TextBox的屬性、方法和事件) 窗體上顯示的
9、是兩個(gè)Text對(duì)象,本章目錄,23,屬性、事件和方法構(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ì)象的屬性、事件和方法,本章目錄,24,事件 發(fā)生在對(duì)象上的事情 同一事件,對(duì)不同的對(duì)象,會(huì)引發(fā)不同的反應(yīng):,事件,本章目錄,教師_鈴聲() 講課 End Sub,學(xué)生_鈴聲() 聽講 接受知識(shí) End Sub,V
10、B.NET為對(duì)象預(yù)先定義了一系列的事件。例如,單擊Click、獲取焦點(diǎn)GotFocus 、按下鍵盤KeyPress 等,其他人員_鈴聲() 可不響應(yīng) End Sub,25,事件過程 應(yīng)用程序處理事件的步驟 它針對(duì)某一對(duì)象并與該對(duì)象的一個(gè)事件相聯(lián)系 應(yīng)用程序設(shè)計(jì)的主要工作就是為對(duì)象編寫事件過程的代碼。事件過程的形式如下: Sub 對(duì)象名_事件(對(duì)象引用,事件信息)Handles 事件處理程序 事件過程代碼 End Sub 對(duì)象引用:指向引發(fā)事件的對(duì)象 事件信息:與事件相關(guān)的信息,事件過程,本章目錄,26,例2.1 在命令按鈕的Click事件過程,改變按鈕的字體顏色. 代碼說明 注意:在代碼窗,自
11、動(dòng)產(chǎn)生事件過程的模板,不要修改模板的內(nèi)容,只需鍵入過程的代碼。 一個(gè)動(dòng)作可能同時(shí)發(fā)生多個(gè)事件。例如單擊鼠標(biāo)同時(shí)發(fā)生了: Click、MouseDown、MouseUp事件 編程時(shí),只要對(duì)需要的事件過程編碼,無編碼的事件為空事件,系統(tǒng)就不處理該事件過程。,本章目錄,27,事件驅(qū)動(dòng)程序設(shè)計(jì)方式: 程序執(zhí)行的先后次序與程序設(shè)計(jì)者無關(guān),取決于用戶的操作。 VB.NET程序的執(zhí)行步驟: 啟動(dòng)應(yīng)用程序,裝載和顯示窗體; 窗體(或窗體上的控件)等待事件的發(fā)生; 事件發(fā)生時(shí),執(zhí)行對(duì)應(yīng)的事件過程; 重復(fù)執(zhí)行步驟和。,事件驅(qū)動(dòng)程序設(shè)計(jì),本章目錄,28,方法,面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,為程序設(shè)計(jì)人員提供了一種特殊的過
12、程和函數(shù),稱為方法。 方法是面向?qū)ο蟮?,調(diào)用時(shí)一定要指明對(duì)象。對(duì)象方法的調(diào)用格式為: 對(duì)象.方法 參數(shù)名表 若省略對(duì)象,表示當(dāng)前對(duì)象,一般指窗體。 例如:Textbox1.Focus 此語(yǔ)句使Textbox1控件獲得焦點(diǎn),光標(biāo)在本文框內(nèi)閃爍。,本章目錄,29,2.2 建立簡(jiǎn)單的應(yīng)用程序,例2.2 編寫一個(gè)人民幣與美圓兌換的程序。 建立一個(gè)應(yīng)用程序分為以下幾步進(jìn)行: (1) 建立用戶界面的對(duì)象 (2) 對(duì)象屬性的設(shè)置 (3) 對(duì)象事件過程及編程 (4) 保存和運(yùn)行程序,本章目錄,代碼說明,30,對(duì)象事件過程及編程,代碼窗口的對(duì)象列表框可顯示窗體所有對(duì)象 過程列表框列出所選中對(duì)象的所有事件 例如,
13、在按鈕Button2的Click事件加入代碼: Sub Button2_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button2.Click TextBox1.Text = Val(TextBox3.Text) * Val(TextBox2.Text) End Sub Val( )函數(shù) 將數(shù)字字符轉(zhuǎn)換成數(shù)值型,本章目錄,31,保存程序和文件組成,程序存盤后將建立一個(gè)文件夾,包含如下內(nèi)容: (1)xxx.sln 項(xiàng)目關(guān)聯(lián)、配置等的信息 (2) xxx.suo 開發(fā)環(huán)境選項(xiàng)的信息 (3)
14、xxx.vbproj 項(xiàng)目文件 (4)Form1.vb 窗體文件 (5)AssemblyInfo.vb 項(xiàng)目集合信息(系統(tǒng)自動(dòng)建立) (6) xxx.exe 可執(zhí)行文件(在Bin文件夾) (7)Bin文件夾 可執(zhí)行文件的默認(rèn)路徑, 可用Application.StartupPath()獲得該路徑。 (8)Debug 文件夾 存放程序調(diào)試產(chǎn)生的信息,本章目錄,32,2.3 窗體和基本控件,2.3.1 通用屬性 屬性設(shè)置兩種方式: 通過屬性窗口設(shè)置 在代碼設(shè)計(jì)窗口通過代碼來設(shè)置 在VB.NET中,屬性的類型有: 基本數(shù)據(jù)類型 枚舉類型 結(jié)構(gòu)類型 用代碼設(shè)置時(shí),需要用不同方式表示不同的類型,本章目錄
15、,33,2.3.1 通用屬性,(1) Name 所有對(duì)象都具有的屬性,表示所創(chuàng)建的對(duì)象名稱。在程序中通過對(duì)象名稱來引用對(duì)象,不會(huì)顯示在窗體上。 (2) Text 用于在窗體上顯示對(duì)象的文本 TextBox控件的Text還可以獲取輸入信息,本章目錄,34,(3) 控件布局屬性 控件布局由Location、Size結(jié)構(gòu)來實(shí)現(xiàn),它們各有一對(duì)整數(shù)來表示,整數(shù)單位為像素。 Location 控件左上角位置, Size 控件大小 例如,命令按鈕控件布局 Button1.Location = New Point(88, 48) Button1.Size = New Size(80, 32) 也可用Left、
16、Top定位;用Width和Height來表示控件的寬度和高度。,本章目錄,等效的語(yǔ)句設(shè)置: Button1.Left = 88 Button1.Top = 48 Button1.Width = 80 Button1.Height = 32,35,(4) Font 屬性值是Font類的對(duì)象,一般通過Font屬性對(duì)話框設(shè)置,若在程序代碼中需要改變文本的外觀,則應(yīng)通過New創(chuàng)建 Font 對(duì)象來改變字體。 例如:,Label1.Font = New System.Drawing.Font(Arial, 10),本章目錄,36,(5) ForeColor、BackColor 顏色屬性 ForeColo
17、r 控件正文前景色 BackColor 背景色 (6) Cursor 指示鼠標(biāo)光標(biāo)圖像 設(shè)置值是一個(gè)Cursors枚舉類型的枚舉值。若要用戶定義自己的指針圖標(biāo),可通過如下語(yǔ)句實(shí)現(xiàn): 對(duì)象名.Cursor = New System.Windows.Forms.Cursor(圖標(biāo)文件名),本章目錄,37,(7) Dock 控件放置靠窗體邊框的位置,屬性值是DockStyle枚舉類型,有六個(gè)枚舉值 (8) Enabled、Visible 控件的有效、可見性,本章目錄,(9) TabIndex 按Tab鍵時(shí),焦點(diǎn)在各個(gè)控件移動(dòng)的順序,38,2.3.2 窗體,窗體是一塊畫布,是所有控件的容器,可以根據(jù)需
18、要利用工具箱上的控件在窗體上畫界面。 1. 主要屬性,本章目錄,39,窗體-屬性,(1) MaxButton、MinButton 設(shè)置為True,窗體上有最大(小)化按鈕;為False時(shí)無最大(小)化按鈕 (2) Icon、ControlBox 窗體圖標(biāo)、控制菜單 ControlBox 屬性為True,窗體上有控制菜單框;為False時(shí)無控制菜單(系統(tǒng)將MaxButton和MinButton自動(dòng)設(shè)置為False) (3) BackgroundImage 窗體背景圖案 (4) FormBorderStyle 窗體的邊框類型,本章目錄,40,窗體-事件,最常用的事件有Click、DblClick和
19、Load Load事件 窗體裝入內(nèi)存時(shí)觸發(fā)(應(yīng)用程序啟動(dòng)時(shí)自動(dòng)執(zhí)行該事件),常用來在啟動(dòng)時(shí)對(duì)屬性和變量初始化。 例2.3 編寫三個(gè)事件過程,要求如下: 啟動(dòng)窗體,在標(biāo)題欄顯示“裝入窗體”,并將#bmp作為背景圖平鋪窗體、窗體邊框?yàn)镕ixed3D; 單擊窗體,標(biāo)題欄顯示對(duì)應(yīng)的文字、裝入tongji-2.bmp圖片大小為264256,要求圖片正好充滿窗體。 雙擊窗體,標(biāo)題欄顯示對(duì)應(yīng)的文字、窗體無最大化和最小化按鈕,清除裝入的圖片。,代碼說明,本章目錄,41,窗體-方法,使用方法的語(yǔ)法形式: 對(duì)象.方法參數(shù)列表 窗體方法主要有 ShowDialog 、Show、Hide等,主要用于多窗體
20、的顯示和隱藏等 例如:Me.Hide,本章目錄,42,2.3.3 標(biāo)簽-屬性,標(biāo)簽用來顯示文本信息(不能輸入) 除Name、Font、Size、Location、Enable等屬性外,其它主要屬性: (1)Text、TextAlign:設(shè)置顯示的文本、文本的對(duì)齊方式,TextAlign 屬性是枚舉類型,提供標(biāo)簽控件上文本的9種對(duì)齊方式,本章目錄,43,(2) BackColor 背景色(默認(rèn)與窗體背景相同)。若要以透明方式顯示,需要設(shè)置Color枚舉類型的Transparent。 (3) BorderStyle 標(biāo)簽控件邊框樣式 None 控件周圍沒有邊框(默認(rèn)值) FixedSingle 控
21、件帶有單邊框 Fixed3D 控件帶有立體邊框 (4) AutoSize 控件是否能自動(dòng)調(diào)整大小 當(dāng)值為False,保持控件原設(shè)計(jì)時(shí)的大小,正文若太長(zhǎng)則顯示其中的一部分。,本章目錄,44,(5) Image、ImageAlign 設(shè)置控件的背景圖案和圖案對(duì)齊方式 ImageAlign屬性與TextAlign類似 通過代碼設(shè)置圖案: 標(biāo)簽名.Image = Image.FromFile(圖片名) 例2.4 在4個(gè)標(biāo)簽中存放4個(gè)方向的“手指”圖片,當(dāng)單擊某方向時(shí),利用“Dock”屬性定位第5個(gè)標(biāo)簽、并顯示相關(guān)信息。,代碼說明,本章目錄,45,2.3.4 文本框,文本框是一個(gè)文本編輯區(qū)域,可以在該區(qū)
22、域輸入、編輯、修改和顯示正文內(nèi)容。 (1) Text 顯示或輸入的正文內(nèi)容 (2) Maxlength 設(shè)置文本框可輸入的文字最大長(zhǎng)度。默認(rèn)值為0,表示可以輸入任意長(zhǎng)字符串。 注意:在VB.NET中字符長(zhǎng)度以字為單位,也就是一個(gè)西文字符與一個(gè)漢字都是一個(gè)字,長(zhǎng)度為1。,本章目錄,46,(3) MultiLine 多行屬性 設(shè)置為True時(shí),文本框可以輸入或顯示多行正文,同時(shí)具有文字處理器的自動(dòng)換行功能,按Enter鍵可插入一空行。 (4) ScrollBars 滾動(dòng)條屬性 None 無滾動(dòng)條 Horizontal 水平滾動(dòng)條 Vertical 垂直滾動(dòng)條 Both 同時(shí)加水平和垂直滾動(dòng)條 當(dāng)M
23、ultiLine為True時(shí),ScrollBars才有效,本章目錄,47,(5) PassWordChar 設(shè)置顯示文本的替代符。例如,當(dāng)設(shè)置為“*”,則在文本框輸入的內(nèi)容均以“*”顯示,而存儲(chǔ)的值是用戶輸入的原文。一般用于設(shè)置口令的輸入。 當(dāng)MultiLine為True時(shí),該屬性不起作用,密碼不允許多行。 (6) ReadOnly 指定文本控件是否可被編輯,默認(rèn)值為False(可編輯),當(dāng)設(shè)置為True時(shí),文本控件相當(dāng)于標(biāo)簽控件的作用。,本章目錄,48,(7)文本內(nèi)容進(jìn)行選擇操作 SelectionStart 選定的正文開始位置 SelectionLength 選定的正文長(zhǎng)度 Selecte
24、dText 選定的正文內(nèi)容 設(shè)置SelectionStart和SelectionLength屬性后, SelectedText 會(huì)自動(dòng)存放設(shè)定的正文 例2.5 利用屬性實(shí)現(xiàn)對(duì)文本信息的剪切、拷貝、粘貼等功能。,本章目錄,代碼說明,49,文本框-事件,(1) TextChanged事件 當(dāng)Text屬性值發(fā)生改變時(shí)引發(fā)該事件 例 在文本框每輸入一個(gè)字符就引發(fā)一次事件 (2) KeyPress事件 按下并且釋放鍵盤上的一個(gè)鍵時(shí),引發(fā)焦點(diǎn)所在控件的KeyPress事件,所按鍵的值存放在參數(shù)e.KeyChar中 例 對(duì)回車的判斷 Asc(e.KeyChar)=13,本章目錄,50,(3) LostFoc
25、us事件 對(duì)象失去焦點(diǎn)時(shí)發(fā)生LostFocus事件 該事件主要是用來對(duì)數(shù)據(jù)進(jìn)行驗(yàn)證和確認(rèn),常用于檢查Text屬性的內(nèi)容。 (4) GotFocus事件 GotFocus事件與LostFocus事件相反,當(dāng)一個(gè)對(duì)象獲得焦點(diǎn)時(shí)發(fā)生,本章目錄,51,文本框-方法,文本框最有用的方法是Focus,把光標(biāo)移到指定的文本框中。其形式如下: 對(duì)象. Focus Focus還可以用于如CheckBox、Button、ListBox、ComboBox等控件。 例2.6 對(duì)輸入的數(shù)據(jù)進(jìn)行合法性檢驗(yàn),過濾不合法的數(shù)據(jù)。,本章目錄,52,2.3.5 命令按鈕,用于程序運(yùn)行時(shí)執(zhí)行相應(yīng)的事件 1. 屬性 (1) Text
26、 命令按鈕上顯示的文字 (2) FlatStyle 按鈕的外觀 該屬性有4個(gè)枚舉值: Flat 以平面顯示按鈕 Popup 鼠標(biāo)在按鈕上以Flat形式顯示,否則以Standand顯示 Standand 以三維效果顯示(默認(rèn)) System 由操作系統(tǒng)決定外觀形式,本章目錄,53,命令按鈕,(3) Image、BackGroundImage 當(dāng)FlatStyle屬性值設(shè)置為非System的值時(shí),則可以使用Image、BackGroundImage屬性為按鈕設(shè)置圖形或背景圖,顯示不同的圖形文件(.bmp和.ico)。通常情況使用Image屬性。 (4) TextAlign、ImageAlign 設(shè)
27、置文本、圖形在按鈕上的對(duì)齊方式 2. 事件 命令按鈕一般接收Click事件,本章目錄,54,2.4 綜合應(yīng)用,例2.7建立一個(gè)類似記事本的應(yīng)用程序,提供: (1) 剪切、復(fù)制和粘貼的編輯操作 (2) 字體大小的格式設(shè)置 分析: (1) 建立一個(gè)文本框輸入文本,文本框應(yīng)該有滾動(dòng)條,為了便于調(diào)試,程序運(yùn)行時(shí)文本框有初始值。 (2) 利用文本框的SelectedText屬性實(shí)現(xiàn)“剪切、復(fù)制和粘貼”的編輯操作; (3) “格式”設(shè)置利用Font對(duì)象實(shí)現(xiàn)。,代碼說明,本章目錄,55,本章小節(jié),類是同種對(duì)象的集合與抽象,包含所創(chuàng)建對(duì)象的屬性描述和行為特征的定義,是創(chuàng)建對(duì)象實(shí)例的模板。 對(duì)象三要素:屬性、事
28、件、方法 屬性的類型:基本數(shù)據(jù)類型、枚舉類型、結(jié)構(gòu)類型 窗體 是所有控件的容器 基本控件 標(biāo)簽、文本框、命令按鈕,本章目錄,56,思考題,1. 什么是類?什么是對(duì)象?什么是事件過程? 2. 屬性和方法的區(qū)別是什么? 3. 如何建立一個(gè)完整的應(yīng)用程序? 4. 如何在文本框內(nèi)顯示多行文本? 5. 如何使對(duì)象獲得焦點(diǎn)? 6.如何在命令按鈕上設(shè)置圖形?,本章目錄,57,第三章 VB.NET語(yǔ)言基礎(chǔ),3.1 變量、常量與數(shù)據(jù)類型 3.2 運(yùn)算符和表達(dá)式 3.3 常用函數(shù) 3.4 程序結(jié)構(gòu)和編碼規(guī)則 3.5 綜合應(yīng)用,本章目錄,58,3.1 變量、常量和數(shù)據(jù)類型,3.1.1變量概述 變量 在程序運(yùn)行中其存
29、儲(chǔ)的值可以改變 命名規(guī)則: 必須以字母或漢字開頭,由字母、漢字、數(shù)字或下劃線組成,長(zhǎng)度小于等于255個(gè)字符 不能使用VB.NET中的關(guān)鍵字 VB.NET不區(qū)分變量名的大小寫,一般變量名首字母用大寫,其余用小寫字母表示;常量全部用大寫字母表示,本章目錄,59,3.1.1變量概述,值類型和引用類型的變量 值類型變量 直接存放數(shù)據(jù)。每個(gè)值類型變量有它自己的數(shù)據(jù)拷貝,因此對(duì)一個(gè)值類型變量的操作不能影響其他的變量。 引用類型變量 并不真的包含數(shù)據(jù),存放的是指向其他數(shù)據(jù)的內(nèi)存地址的指針,也就是把數(shù)據(jù)值所在的地址作為引用變量的值。該種變量對(duì)象的引用簡(jiǎn)稱為賦值或存儲(chǔ)。字符串、數(shù)組和類是引用類型的變量。,本章目
30、錄,60,變量概述,x是值類型變量,存放的值為1234; s是引用類型變量,指向VB.NET的一個(gè)引用,本章目錄,61,3.1.2 數(shù)據(jù)類型,本章目錄,62,3.1.3變量聲明,1. 用Dim語(yǔ)句顯式聲明變量 Dim 變量名 As 類型=初始值 As部分缺省,創(chuàng)建的變量為Object類型 初始值子句,表示給聲明的變量賦值 一條Dim語(yǔ)句可同時(shí)定義多個(gè)變量。多個(gè)相同類型變量,可用一個(gè)As來指定(前面幾個(gè)由逗號(hào)分隔),這時(shí)不能給變量賦初值。 例如:Dim m,n,j As Integer,x,y As Single,k k為Object類型,本章目錄,63,變量聲明,2. 隱式聲明 默認(rèn)狀態(tài)下,系
31、統(tǒng)要求對(duì)使用的變量都顯式聲明,當(dāng)使用沒有聲明的變量時(shí),該變量名下有綠色曲線(表示語(yǔ)法錯(cuò))。若對(duì)變量不聲明而直接使用,稱為隱式聲明。則需要在模塊中所有程序代碼的最前面加語(yǔ)句: Option Explicit Off,本章目錄,64,3.1.4 常量,常量是在程序運(yùn)行中不變的量,VB.NET中有三種常量: 直接常量 其常數(shù)值直接反映了其類型 符號(hào)常量 用戶聲明,便于程序閱讀或修改 Const 符號(hào)常量名 As 類型 = 表達(dá)式 系統(tǒng)常量 系統(tǒng)提供許多內(nèi)部常量和枚舉 例如:vbCrLf 回車/換行組合符 枚舉 如控件的顏色、邊框線型等,本章目錄,65,3.2 運(yùn)算符和表達(dá)式,和其他語(yǔ)言一樣,VB.N
32、ET中也具有豐富的運(yùn)算符,通過運(yùn)算符和操作數(shù)組合成表達(dá)式,實(shí)現(xiàn)程序編制中所需的大量操作。 運(yùn)算符是表示實(shí)現(xiàn)某種運(yùn)算的符號(hào)。VB.NET中的運(yùn)算符可分算術(shù)運(yùn)算符、字符串運(yùn)算符、關(guān)系運(yùn)算符和邏輯運(yùn)算符四類。,本章目錄,66,3.2.1 算術(shù)運(yùn)算符,例:5+10 mod 10 9 / 3+2 2 結(jié)果:10,注意:對(duì)算術(shù)運(yùn)算符兩邊的操作數(shù)應(yīng)是數(shù)值型,若是數(shù)字字符或邏輯型,則自動(dòng)轉(zhuǎn)換成數(shù)值類型后再運(yùn)算。 例如: 30-True 結(jié)果是31,邏輯量True轉(zhuǎn)為數(shù)值-1,F(xiàn)alse轉(zhuǎn)為數(shù)值0 False + 10 + 4 結(jié)果是14,本章目錄,67,字符串運(yùn)算符, Interval0 例7.8設(shè)計(jì)一個(gè)倒計(jì)
33、時(shí)應(yīng)用程序,代碼說明,本章目錄,216,7.2 通用對(duì)話框,.NET提供了一組基于Windows的標(biāo)準(zhǔn)對(duì)話框界面。利用通用對(duì)話框控件可在窗體上創(chuàng)建打開文件、保存文件、顏色、字體、打印、打印預(yù)覽等對(duì)話框。,通用對(duì)話框僅用于應(yīng)用程序與用戶之間進(jìn)行信息交互,是輸入輸出的界面,不能真正實(shí)現(xiàn)文件打開、文件存儲(chǔ)、設(shè)置顏色、字體設(shè)置、打印等操作,如果想要實(shí)現(xiàn)這些功能則需要編程實(shí)現(xiàn)。,本章目錄,217,7.2.1打開文件對(duì)話框,由 OpenFileDialog 控件來實(shí)現(xiàn) 重要屬性 : (1) FileName 文件名稱,包含路徑 (2) Filter 確定所顯示文件的類型 例如:Text Files|*.t
34、xt|所有文件|*.*顯示文本文件和所有文件 (3) FilterIndex 決定文件列表框中顯示第幾組類型的文件 (4) InitialDirectory 初始化路徑,本章目錄,218,打開文件對(duì)話框,本章目錄,219,打開文件對(duì)話框,例7.11編寫一個(gè)應(yīng)用程序,彈出打開文件對(duì)話框,從中選擇一個(gè)BMP位圖文件,能在圖形框中顯示該圖片。 例7.12編寫一個(gè)簡(jiǎn)單的文本文件編輯程序,代碼說明,代碼說明,本章目錄,220,7.2.2 保存文件對(duì)話框,由 SaveFileDialog 控件來實(shí)現(xiàn) SaveFileDialog控件的屬性與OpenFileDialog控件基本相同,特有的屬性是Defaul
35、tExt屬性,用于設(shè)置缺省的擴(kuò)展名 。 例7.13 為例7.12中的另存為命令按鈕編寫事件過程,把文本框內(nèi)的信息存盤。,本章目錄,221,7.2.3 顏色對(duì)話框,由 ColorDialog 控件來實(shí)現(xiàn) 重要屬性Color,它返回或設(shè)置選定的顏色,屬于Color結(jié)構(gòu)類型。 例7.14 為例7.12中的顏色命令按鈕編寫事件過程,設(shè)置文本框的前景色。 Sub Button3_Click( ) Handles Button3.Click ColorDialog1.ShowDialog() 打開顏色對(duì)話框 TextBox1.ForeColor = ColorDialog1.Color End Sub,設(shè)
36、置文件框前景顏色,本章目錄,222,7.2.4 字體對(duì)話框,通過FontDialog控件來實(shí)現(xiàn),例7.14 編寫設(shè)置文本框字體的事件過程。 Sub Button4_Click( ) Handles Button4.Click FontDialog1.ShowDialog() 打開字體對(duì)話框 TextBox1.Font = FontDialog1.Font 設(shè)置字體 End Sub,Font獲取選擇的字體 Color 選定的顏色,ShowColor控制是否有“顏色”選項(xiàng),本章目錄,223,7.3 菜單設(shè)計(jì),7.3.1 菜單設(shè)計(jì)概述 菜單有下拉式菜單和彈出菜單(上下文菜單)。下拉式菜單的組成結(jié)構(gòu):
37、,本章目錄,224,7.3.1 菜單設(shè)計(jì)概述,.NET提供了MenuStrip和ContextMextStrip兩個(gè)控件,分別用來設(shè)計(jì)下拉式菜單和彈出式菜單。,從這里開始設(shè)計(jì)下拉式菜單,從這里開始設(shè)計(jì)彈出菜單,本章目錄,225,菜單設(shè)計(jì)概述,菜單項(xiàng)除了Name、Visible、Enabled等屬性之外,還具有下列重要屬性: (1) Text 菜單項(xiàng)上顯示的標(biāo)題文本 在字符前加一個(gè) Data Source = Student.mdb Provide,指定連接提供程序的名稱; Data Source,用于指定要連接的數(shù)據(jù)源文件。,357,預(yù)覽數(shù)據(jù)集,右擊xsd視圖下相應(yīng)表,選擇預(yù)覽數(shù)據(jù),358,B
38、indingSource 組件,BindingSource 組件是將ListBox、DataGridView等數(shù)據(jù)顯示控件綁定到數(shù)據(jù)集的中間層,BindingSource 組件首先綁定到數(shù)據(jù)集,然后將ListBox、DataGridView等數(shù)據(jù)顯示控件綁定到BindingSource組件。 通常,設(shè)計(jì)時(shí)會(huì)自動(dòng)生成相應(yīng)的BindingSource,359,11.2.3 數(shù)據(jù)綁定,什么是數(shù)據(jù)綁定? 數(shù)據(jù)綁定是一個(gè)過程,即在運(yùn)行時(shí)自動(dòng)為與數(shù)據(jù)集中的元素關(guān)聯(lián)的控件設(shè)置屬性。以便通過控件顯示數(shù)據(jù)集中的數(shù)據(jù)。,BindingSource,Adapter,360,數(shù)據(jù)綁定,Windows 窗體有簡(jiǎn)單數(shù)據(jù)綁
39、定和復(fù)雜數(shù)據(jù)綁定 簡(jiǎn)單數(shù)據(jù)綁定 簡(jiǎn)單數(shù)據(jù)綁定就是將控件綁定到單個(gè)數(shù)據(jù)字段。每個(gè)控件僅顯示數(shù)據(jù)集中的一個(gè)字段值。最常用的簡(jiǎn)單數(shù)據(jù)綁定是將數(shù)據(jù)綁定到文本框和標(biāo)簽。要建立數(shù)據(jù)綁定,需要在設(shè)計(jì)或運(yùn)行時(shí)對(duì)控件的DataBinding屬性進(jìn)行設(shè)置。,361,簡(jiǎn)單數(shù)據(jù)綁定,例11.2 數(shù)據(jù)綁定的操作過程 界面設(shè)計(jì),可以直接從數(shù)據(jù)源拖出,設(shè)置綁定屬性,程序代碼,從數(shù)據(jù)源拖曳到窗體上,362,自定義記錄移動(dòng),使用BindingSource對(duì)象瀏覽數(shù)據(jù)記錄 Position 屬性 數(shù)據(jù)當(dāng)前記錄的位置序號(hào) Count 屬性 數(shù)據(jù)中的記錄條數(shù) 轉(zhuǎn)跳到第一條記錄 Me.基本情況BindingSource.MoveFir
40、st() 轉(zhuǎn)跳到上一條記錄 Me.基本情況BindingSource.MovePrevious() 轉(zhuǎn)跳到下一條記錄 Me.基本情況BindingSource.MoveNext() 最后一條記錄 Me.基本情況BindingSource.MoveLast(),363,復(fù)雜數(shù)據(jù)綁定,復(fù)雜數(shù)據(jù)綁定允許將多個(gè)數(shù)據(jù)元素綁定到一個(gè)控件,同時(shí)顯示記錄源中的多行或多列。支持復(fù)雜數(shù)據(jù)綁定的控件:數(shù)據(jù)網(wǎng)格DataGridView、組合框ComboBox和列表框ListBox等,364,復(fù)雜數(shù)據(jù)綁定,復(fù)雜數(shù)據(jù)綁定屬 性設(shè)置,365,復(fù)雜數(shù)據(jù)綁定,例11.3復(fù)雜數(shù)據(jù)綁定的操作過程,選擇數(shù)據(jù)源,數(shù)據(jù)綁定,366,11
41、.2.3 使用代碼訪問數(shù)據(jù)庫(kù),創(chuàng)建數(shù)據(jù)對(duì)象的代碼: Dim 數(shù)據(jù)對(duì)象 As New 對(duì)象類(參數(shù)) 例11.4 用代碼實(shí)現(xiàn)例11.2的功能 界面設(shè)計(jì),導(dǎo)入ADO.NET名稱空間 ImportsSystem.Data ImportsSystem.Data.OleDb,367,創(chuàng)建對(duì)象,創(chuàng)建OleDbConnection連接對(duì)象 創(chuàng)建連接Student.mdb的對(duì)象objConn,代碼: Dim strConn As String = Provider = Microsoft. Jet.OLEDB.4.0; Data Source = Student.mdb Dim objConn As New
42、OleDbConnection(strConn) objConn.Open() 創(chuàng)建創(chuàng)建OleDbDataAdapter對(duì)象 Dim strSql = Select * From 基本情況 Dim objAdap As New OleDbDataAdapter(strSql, objConn),368,創(chuàng)建對(duì)象,創(chuàng)建數(shù)據(jù)集對(duì)象 Dim objDSet As New DataSet 用數(shù)據(jù)集的“基本情況”表填充objDSet對(duì)象 objAdap.Fill(objDSet, 基本情況),369,使用代碼綁定數(shù)據(jù),實(shí)現(xiàn)數(shù)據(jù)綁定 使用控件的DataBindings屬性的Add方法建立綁定: 控件對(duì)象.
43、DataBindings.Add(New Binding(控件屬性, 數(shù)據(jù)集, 字段名) 例 將字段姓名綁定到控件TextBox1的Text 屬性: TextBox1.DataBindings.Add(New Binding(Text, objDSet, 基本情況.姓名),370,11.3 數(shù)據(jù)庫(kù)操作,11.3.1 數(shù)據(jù)庫(kù)編輯操作 常見的編輯操作就是對(duì)數(shù)據(jù)的增、刪、改。使用命令對(duì)象直接對(duì)數(shù)據(jù)源進(jìn)行操作,方法如下: CommandText屬性 設(shè)置SQL語(yǔ)句 調(diào)用Execute方法 執(zhí)行SQL語(yǔ)句 ExecuteReader 返回DataReader結(jié)果集 ExecuteNonQuery 不返回
44、數(shù)據(jù)的SQL命令(增、刪、改) ExecuteScalar 返回單個(gè)數(shù)據(jù)的SQL命令(例對(duì)數(shù)據(jù)的統(tǒng)計(jì)、求和),371,增加數(shù)據(jù)記錄,使用Insert語(yǔ)句插入一條記錄到數(shù)據(jù)源。例如: Insert into 基本情況(姓名, 學(xué)號(hào)) Values (李力, 50101) 實(shí)際參數(shù)可通過文本框輸入,可在Values短語(yǔ)中使用標(biāo)記傳遞實(shí)參值: Insert into 基本情況(姓名, 學(xué)號(hào)) Values (name, num) 而參數(shù)定義的語(yǔ)法為: Dim 參數(shù)名 As new OleDBparameter(sql查詢或更新字符串中的映射名,數(shù)據(jù)類型,長(zhǎng)度),372,增加數(shù)據(jù)記錄例,例11.5 在
45、例11.4的基礎(chǔ)上添加增加記錄、刪除記錄、修改記錄按鈕,當(dāng)單擊“增加”按鈕時(shí),先清空文本框,并將按鈕提示改變成“確認(rèn)”;當(dāng)在文本框輸入數(shù)據(jù)后,再單擊“確認(rèn)”,將文本框內(nèi)輸入的數(shù)據(jù)構(gòu)成一條記錄插入到數(shù)據(jù)源、重新填充數(shù)據(jù)集并恢復(fù)按鈕提示。,代碼說明,373,刪除數(shù)據(jù)源內(nèi)的記錄,刪除數(shù)據(jù)源內(nèi)的記錄使用Delect語(yǔ)句 Delect 基本情況 Where 學(xué)號(hào) = 50102 實(shí)參50102通過文本框輸入。要用輸入值構(gòu)成刪除條件,除了采用參數(shù)傳遞方法外,也可用字符連接運(yùn)算符拼接變量形成條件,例如: Delect 基本情況 Where 學(xué)號(hào) = & TextBox2.Text 注意:如果字段的類型為字符型,則輸入值的兩側(cè)加上單引號(hào): Delect 基本情況 Where 學(xué)號(hào) = & TextBox2.Text & 字段的類型為日期型,將單引號(hào)改為#,374,刪除數(shù)據(jù)記錄,刪除數(shù)據(jù)集內(nèi)的行使用Rows對(duì)象的Delete方法。 例如,刪除
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 工作室《高中生職業(yè)生涯規(guī)劃教育內(nèi)容及途徑的行動(dòng)研究》開題報(bào)告初稿
- 借款合同個(gè)人協(xié)議書七篇
- 二婚離婚協(xié)議范本模板
- 《再塑生命的人》課件統(tǒng)編版語(yǔ)文七年級(jí)上冊(cè)
- 藥物性蕁麻疹病因介紹
- 中考政治總復(fù)習(xí)第四單元自然界的水教材知識(shí)梳理
- (立項(xiàng)備案申請(qǐng)模板)雕塑品項(xiàng)目可行性研究報(bào)告參考范文
- (案例)塑膠容器項(xiàng)目立項(xiàng)報(bào)告
- (2024)芒硝礦項(xiàng)目可行性研究報(bào)告寫作范本(一)
- 專題23 走進(jìn)法治天地 (講義)(原卷版)
- 商品(服裝類)基礎(chǔ)知識(shí)
- 機(jī)電安裝工程質(zhì)量通病及防治措施
- 行政管理學(xué)的判斷題
- 傳感器原理與應(yīng)用課程設(shè)計(jì)報(bào)告磁電式輪速傳感器系統(tǒng)設(shè)計(jì)
- 濟(jì)南市建設(shè)工程竣工測(cè)量技術(shù)規(guī)程
- 語(yǔ)音放大電路的設(shè)計(jì)畢業(yè)論文
- 滑動(dòng)模板施工工法
- 合同履行確認(rèn)單(模板).doc
- 框架結(jié)構(gòu)內(nèi)力計(jì)算-豎向彎矩二次分配,水平D值法講解
- 《初中團(tuán)隊(duì)一體化工作模式的實(shí)踐與研究》
- 工程增項(xiàng)簽證單樣本
評(píng)論
0/150
提交評(píng)論