VBNET程序設(shè)計及項目實訓(xùn)課件_第1頁
VBNET程序設(shè)計及項目實訓(xùn)課件_第2頁
VBNET程序設(shè)計及項目實訓(xùn)課件_第3頁
VBNET程序設(shè)計及項目實訓(xùn)課件_第4頁
VBNET程序設(shè)計及項目實訓(xùn)課件_第5頁
已閱讀5頁,還剩502頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

項目一創(chuàng)建VB.NET程序開發(fā)環(huán)境

任務(wù)1創(chuàng)建VB.NET程序開發(fā)環(huán)境圖1-1VisualStudio2008安裝界面圖1-2用戶協(xié)議界面圖1-3安裝選擇圖1-4自定義安裝圖1-5安裝進度圖1-6安裝完成提示1.2啟動VisualStudio2008圖1-7第一次啟動界面圖1-8起始頁圖1-9起始頁1.3熟悉VisualStudio2008編程環(huán)境VisualStudio2008將支持程序開發(fā)的各種功能集成在一個公共的工作環(huán)境中,稱之為“集成開發(fā)環(huán)境”。在該編程開發(fā)環(huán)境中提供了各種控件、窗口和方法,用戶可以方便的進行各種應(yīng)用程序的開發(fā),以及在各種開發(fā)界面中切換,可以在很大程度上節(jié)約開發(fā)時間。VisualStudio2008的開發(fā)環(huán)境主要由以下幾部分組成:菜單欄、工具欄、窗體、工具箱、屬性窗口、解決方案資源管理器和服務(wù)器資源管理器等。1.菜單欄:菜單欄包括“文件”、“編輯”、“視圖”、“項目”、“數(shù)據(jù)”、“工具”、“調(diào)試”、“測試”、“分析”、“窗口”和“幫助”等。其中包含了開發(fā)VisualBasic程序常見的命令。文件菜單中常用的功能包括:“新建”:支持新建項目、網(wǎng)站等應(yīng)用程序;“打開”:支持打開已有的項目、網(wǎng)站等應(yīng)用程序;“關(guān)閉”:關(guān)閉正在編寫的項目;“關(guān)閉解決方案”:關(guān)閉正在編寫的解決方案;“退出”:退出VisualStudio2008編程環(huán)境。圖1-10文件菜單編輯菜單常用的功能有:撤銷、重復(fù)、剪切、復(fù)制、粘貼等。視圖菜單常用的功能有:“代碼”:打開代碼編輯界面;“設(shè)計器”:打開設(shè)計器編輯界面;“服務(wù)器資源管理器”:打開和服務(wù)器以及數(shù)據(jù)庫相關(guān)內(nèi)容的操作界面;“解決方案資源管理器”:打開解決方案資源管理器窗口;“類視圖”:打開類視圖窗口;“工具箱”:打開工具箱窗口;“屬性窗口”:打開控件的屬性窗口。圖1-11視圖菜單調(diào)試菜單常用的功能如下:“啟動調(diào)試”:啟動當(dāng)前應(yīng)用程序的調(diào)試,快捷鍵是F5;“開始執(zhí)行(不調(diào)試)”:啟動當(dāng)前應(yīng)用程序的執(zhí)行,不調(diào)試,快捷鍵是Ctrl+F5;圖1-12調(diào)試菜單2.工具欄工具欄在菜單欄的下邊,工具欄提供了常用命令的快速訪問按鈕,單擊某個按鈕,可執(zhí)行對應(yīng)的操作,效果和使用菜單是同樣的。3.窗體在創(chuàng)建了一個Windows應(yīng)用程序后,系統(tǒng)會自動生成一個默認的窗體,也就是應(yīng)用程序界面。在開發(fā)過程中,用戶編程使用的各種控件就是布局在窗體之上的,當(dāng)程序運行時,用戶所看到的就是窗體。

圖1-13窗體4.工具箱工具箱中提供了各種控件、容器、菜單和工具欄、組件、打印、對話框和報表等。在默認情況下,工具箱將控件和各種組件按照功能的不同進行了分類。用戶在編程過程中,根據(jù)需要選擇各種控件和組件。如果所需要的控件或者組件在工具箱中找不到,可以單擊工具箱的右鍵,選擇“選擇項”,進入“選擇工具箱”對話框。圖1-14工具箱圖1-15選擇工具箱5.屬性窗口屬性窗口包含選定對象(Form窗體或控件)的屬性、事件列表。在設(shè)計程序時可以通過修改對象的屬性來設(shè)計外觀和相關(guān)值,這些屬性值將是程序運行時各對象屬性的初始值屬性窗口包括以下幾個按鈕“按分類排序”、“字母順序”、“屬性”、“事件”分別用于設(shè)置顯示屬性還是事件,以及顯示是按照分類還是按照字母順序

圖1-16屬性窗口6.解決方案資源管理器解決方案資源管理器采用Windows資源管理器的界面,按照文件層次列出當(dāng)前解決方案中的所有文件。解決方案資源管理器包括以下幾個按鈕:“顯示所有文件”、“刷新”、“查看代碼”、“視圖設(shè)計器”以及“查看類關(guān)系圖”

圖1-17解決方案資源管理器圖1-18顯示所有文件任務(wù)2VB.NETWindows應(yīng)用程序設(shè)計流程2.1建立一個VB.NETWindows應(yīng)用程序1.在VisualStudio2008中,創(chuàng)建一個VisualBasic程序意味著創(chuàng)建一個VisualBasic解決方案。創(chuàng)建一個新項目的步驟如下:首先啟動VisualStudio2008編程環(huán)境,在菜單“文件”中,選擇“新建”“項目”,系統(tǒng)會出現(xiàn)新建項目對話框圖1-19新建項目對話框在左側(cè)選擇VisualBasic語言,在右側(cè)的VisualStudio已安裝的模板中,選擇“Windows窗體應(yīng)用程序”模板,在名稱中輸入解決方案的名稱,位置中選擇解決方案所保存的位置,然后點擊“確定”,完成項目的創(chuàng)建。

圖1-20完成項目創(chuàng)建效果2.打開一個項目如果一個VisualBasic項目已經(jīng)創(chuàng)建好,需要繼續(xù)編寫,這時可以選擇打開項目。步驟如下:選擇“文件”菜單,單擊“打開”“項目項目”,在彈出的“打開項目”對話框中,選擇要打開的項目,一般應(yīng)選擇擴展名為“.sln”的文件

圖1-21打開項目對話框3.保存項目當(dāng)編輯完項目后,需要保存項目,步驟為:單擊工具欄中的“全部保存”按鈕,或者單擊“文件”菜單“全部保存”命令。4.編譯運行項目設(shè)計一個項目時,該項目處于編輯狀態(tài),如果需要測試已編輯的內(nèi)容,需要編譯和運行項目,可以有以下幾種方式對項目進行測試:單擊工具欄中的“啟動調(diào)試”按鈕;單擊“調(diào)試”菜單“啟動調(diào)試”選項或“開始執(zhí)行(不調(diào)試)”選項;按鍵盤快捷鍵F5或Ctrl+F5;例如,在項目中添加一個按鈕控件,并雙擊按鈕,編寫一個簡單的事件,即給按鈕的單擊事件添加一個提示語句:MessageBox.Show(“Hello,歡迎來到VisualBasic編程環(huán)境”)圖1-22程序運行效果2.2VB.NETWindows應(yīng)用程序的設(shè)計流程1.在VisualStudio2008編程環(huán)境下開發(fā)VB.NETWindows應(yīng)用程序一般具有以下幾個步驟:(1)需求分析根據(jù)實際應(yīng)用需要,進行需求分析,需要設(shè)計程序具有什么樣的功能,對應(yīng)的功能需要什么樣的控件來實現(xiàn),以及需要編寫什么樣的代碼等。(2)新建VB.NETWindows應(yīng)用程序項目打開VisualStudio2008,新建一個VB.NETWindows應(yīng)用程序,一個應(yīng)用程序就是一個項目,用戶根據(jù)所要創(chuàng)建的程序要求,選擇合適的應(yīng)用程序類型。(3)新建用戶界面建立項目之后,根據(jù)程序的功能要求,在窗體上合理的布置控件,并調(diào)整合適的大小和位置。(4)設(shè)置對象的屬性布局好控件之后,需要對控件的外觀以及初始狀態(tài)進行設(shè)置,以滿足程序的需要,設(shè)置屬性可以打開“屬性窗口”進行設(shè)置。(5)編寫代碼布局好控件并設(shè)置好控件的初始屬性之后,就可以編寫代碼了??梢渣c擊控件或窗體的右鍵,通過“屬性窗口”中的事件選擇需要編寫的事件,也可以直接進入代碼界面編寫代碼。代碼的編寫將根據(jù)程序的需要進行選擇。(6)運行調(diào)試程序完成上述步驟后,就可以運行程序,并做測試,以發(fā)現(xiàn)問題并及時修改。調(diào)試和改錯是程序開發(fā)過程中非常重要的步驟,需要反復(fù)使用,以盡可能的優(yōu)化程序。(7)生成可執(zhí)行文件程序開發(fā)完成并正確運行后,需要將程序生成可執(zhí)行文件,發(fā)布出去。(8)部署應(yīng)用程序編寫好的應(yīng)用程序,可以在VisualStudio2008中進行部署,以自動創(chuàng)建安裝文件。2.創(chuàng)建一個簡單的計算器程序設(shè)計制作一個簡單的VisualBasicWindows應(yīng)用程序,將兩個文本框輸入的數(shù)字進行相加,結(jié)果顯示在標(biāo)簽控件Label4上

圖1-23程序運行效果1.需求分析該應(yīng)用程序的功能是:有兩個文本框作為用戶的輸入,用戶在輸入之后,需要判斷是否是數(shù)字,如果是數(shù)字,點擊“兩操作數(shù)相加”按鈕時,可以將兩個操作數(shù)的值相加并顯示在Label4控件上。如果兩個文本框中有一個輸入的不是數(shù)字,將給出提示。2.新建項目1)選擇“文件”“新建項目”,創(chuàng)建一個VisualBasicWindows應(yīng)用程序

圖1-24新建項目2)在“新建項目”對話框中,項目類型選擇“VisualBasic”,模板中選擇“Windows應(yīng)用程序”,項目名稱為WindowsApplication8,單擊“確定”按鈕,即可新建一個VB.NETWindows應(yīng)用程序項目。3.創(chuàng)建用戶界面創(chuàng)建好一個VisualBasicWindows應(yīng)用程序后,系統(tǒng)會自動創(chuàng)建一個空白的Form窗體。接下來添加控件,具體如下:首先拖入三個Label標(biāo)簽控件,分別用于顯示“操作數(shù)1:”、“操作數(shù)2”和“結(jié)果”三個文本。再拖入兩個TextBox文本框控件,用于接受用戶輸入兩個操作數(shù)。最后拖入一個按鈕控件。將控件的位置調(diào)整好。4.設(shè)置控件的屬性拖入三個Label標(biāo)簽控件之后,分別點控件的右鍵,選擇“屬性”,進入屬性窗口,分別設(shè)置這三個Label標(biāo)簽控件的Text屬性為“操作數(shù)1:”、“操作數(shù)2”和“結(jié)果”。

圖1-25屬性設(shè)置打開按鈕控件的屬性窗口,設(shè)置其Text屬性為“兩操作數(shù)相加”

圖1-26屬性設(shè)置圖1-27屬性設(shè)置后效果5.編寫事件代碼

編寫事件代碼是在代碼編輯界面,在Form窗體空白處點擊右鍵,選擇“查看代碼”,將進入代碼編輯界面

圖1-28代碼界面代碼1-1:按鈕的單擊事件PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.ClickDima1AsIntegerDima2AsIntegerDima3AsIntegerTrya1=Convert.ToInt32(TextBox1.Text)a2=Convert.ToInt32(TextBox2.Text)a3=a1+a2Label4.Text=Convert.ToString(a3)CatchexAsException

MessageBox.Show(ex.ToString())EndTryEndSub6.運行調(diào)試程序并測試

程序編寫完成后,按“F5”鍵,或者單擊“啟動調(diào)試”按鈕,即可啟動調(diào)試應(yīng)用程序。

圖1-29程序運行效果當(dāng)輸入內(nèi)容為數(shù)字并點擊“兩操作數(shù)相加”按鈕時,兩數(shù)相加并顯示在結(jié)果中。當(dāng)輸入的操作數(shù)不是數(shù)字,點擊“兩操作數(shù)相加”按鈕后,會給出錯誤提示效果如圖1-30和圖1-31所示。

圖1-30程序測試圖1-31程序測試7.生成可執(zhí)行文件程序運行成功后,系統(tǒng)會在項目文件夾下的bin文件夾下,自動創(chuàng)建一個可執(zhí)行文件(.exe文件)。在Windows操作系統(tǒng)下雙擊此文件,即可脫離編譯環(huán)境單獨運行。效果如圖1-32所示。圖1-32.dll文件項目小結(jié)本項目介紹了VB.NET編程環(huán)境的創(chuàng)建方法,安裝VisualStudio2008的詳細步驟。介紹了VisualStudio2008編寫VB.NETWindows應(yīng)用程序的編程環(huán)境,介紹了常用的菜單的功能和常用的窗口,包括“工具箱”、“屬性窗口”、“解決方案資源管理器”和編程窗口。通過實例介紹了VB.NETWindows應(yīng)用程序的編寫流程。項目拓展1、編寫一個簡單的VB.NETWindows應(yīng)用程序,要求:用戶輸入用戶名,能夠給出相應(yīng)的問候。2、編寫一個簡單的VB.NETWindows應(yīng)用程序,要求:實現(xiàn)用戶的注冊,用戶輸入“用戶名”、“密碼”、“個人簡介”等信息,點擊“提交”按鈕后,可以通過Label標(biāo)簽控件顯示出注冊信息。項目二設(shè)計制作計算器任務(wù)1掌握VB.NET基本輸入輸出控件1.1創(chuàng)建Label控件顯示文本1.要求和目的要求:設(shè)計一個界面,包含一個Label標(biāo)簽控件和一個Button按鈕,Label標(biāo)簽控件能夠顯示按鈕點擊了幾次。效果如圖2-1所示。圖2-1程序運行效果目的:掌握Button按鈕控件的常用事件;掌握Label控件常用的屬性;掌握基本數(shù)據(jù)類型的使用方法;2.設(shè)計步驟第一步:界面設(shè)計打開VisualStudio2008編程環(huán)境,創(chuàng)建一個名稱為2-1-1的VisualBasicWindows應(yīng)用程序,首先將窗體名稱改為Label。在窗體中拖入一個Label文本標(biāo)簽控件,用于顯示按鈕的單擊次數(shù),再拖如一個Button按鈕控件,單擊該按鈕,在文本框中顯示次數(shù)。本程序的設(shè)計界面如圖2-2所示。圖2-2程序設(shè)計界面第二步:編寫事件代碼進入該程序的代碼文件,首先定義一個全局變量:DimiAsInteger=1雙擊Button按鈕控件,進入該按鈕的單擊事件,編寫代碼如下:

PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.ClickLabel1.Text="單擊第"&i&"次"i+=1EndSub第三步:編譯運行并測試編寫代碼之后,點擊保存按鈕保存編寫好的代碼。按F5鍵運行改程序,并測試,效果如圖2-3所示。圖2-3程序運行效果3.相關(guān)知識點(1)Label控件概述Label控件也就是文本控件,用來顯示文本,但是不能輸入。(2)Label控件常用的事件Click事件:該事件在Label控件被單擊的時候觸發(fā)。(3)Label控件常用的屬性Enable屬性:該屬性設(shè)置Label控件是否可用。Visible屬性:該屬性設(shè)置Label控件是否可見。Font屬性:該屬性設(shè)置Label控件所顯示文本的字體。BackColor屬性:該屬性設(shè)置Label控件的背景色。TextAlign屬性:該屬性設(shè)置Label控件的文本對齊方式。BackgroudImage屬性:該屬性設(shè)置Label控件的背景圖片。Text屬性:該屬性設(shè)置Label控件顯示的文本內(nèi)容。1.2創(chuàng)建TextBox控件輸入框1.要求和目的要求:創(chuàng)建一個程序,要求能輸入姓名和專業(yè)班級,點擊提交后可以顯示出用戶所提交的信息,如圖2-4所示。目的:掌握TextBox控件常用的屬性;掌握Label控件常用的屬性;圖2-4程序運行效果2.設(shè)計步驟第一步:界面設(shè)計打開VisualStudio2008編程環(huán)境,新建一個名稱為2-1-2的VisualBasicWindows應(yīng)用程序。在窗體中拖入三個Label標(biāo)簽,將其Text屬性分別改為“”、“姓名:”、“專業(yè)班級”。在窗體中拖入三個個TextBox控件,最后拖入一個Button按鈕控件,將其Text屬性改為“提交”。改程序的設(shè)計界面如圖2-5所示。圖2-5程序設(shè)計界面第二步:編寫事件代碼雙擊“提交”按鈕,進入該按鈕的單擊事件,編寫代碼如2-1所示。代碼2-1:按鈕的單擊事件

PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.ClickDima1AsStringDima2AsStringa1=TextBox1.Text.ToString()a2=TextBox2.Text.ToString()Label1.Text="您提交的信息是:"+a1+a2EndSub第三步:編譯運行并測試編寫好代碼后,點擊“保存”按鈕保存該程序,按F5運行該程序,并測試,效果如圖2-6所示。圖2-6程序運行效果3.相關(guān)知識點(1)TextBox控件概述TextBox文本框控件是最基本的輸入控件,用來接受鍵盤輸入的文本。(2)TextBox控件常用的事件TextChanged事件:該事件在TextBox控件文本內(nèi)容改變時觸發(fā)。(3)TextBox控件常用的屬性Enable屬性:該屬性設(shè)置TextBox控件是否可用。Visible屬性:該屬性設(shè)置TextBox控件是否可見。Font屬性:該屬性設(shè)置TextBox控件所顯示文本的字體。BackColor屬性:該屬性設(shè)置TextBox控件的背景色。TextAlign屬性:該屬性設(shè)置TextBox控件的文本對齊方式。BackgroudImage屬性:該屬性設(shè)置TextBox控件的背景圖片。ForeColor屬性:該屬性設(shè)置TextBox控件字體的顏色。Text屬性:該屬性用來顯示和接受TextBox控件的文本,既可以顯示也可以輸入。格式如下:TextBox1.Text=“歡迎您”’在該文本框中,將顯示“歡迎您”三個字DimaasString=TextBox1.Text’接受TextBox控件中的文本MutiLine屬性:該屬性設(shè)置文本框是否允許多行顯示,True代表可以多行顯示,F(xiàn)alse代表只能單行顯示。PasswordChar屬性:該屬性設(shè)置是否為密碼框,如果為空代表不是密碼框,如果輸入特定字符,如“*”,則代表使用“*”密文顯示文本。ReadOnly屬性:該屬性為True則控件只能讀不能寫。任務(wù)2設(shè)計制作計算器1.要求與目的要求:建立一個如圖2-7所示的計算器界面,具有數(shù)字鍵“0~9”、小數(shù)點鍵“.”、開始鍵“ON”、運算符按鍵“+-*/”、計算按鍵“=”,要求各個數(shù)字鍵及功能鍵能完成正常的數(shù)學(xué)計算。圖2-7計算機運行效果目的:掌握按鈕控件的使用方法;掌握字符串處理的方法;掌握常見算術(shù)運算的實現(xiàn)方法;掌握文本框控件的使用方法;圖2-7計算機運行效果2.設(shè)計步驟第一步:界面設(shè)計打開VisualStudio2008編程環(huán)境,新建一個名稱為2-2-1的VisualBasicWindows應(yīng)用程序。在窗體中拖入一個TextBox文本框控件,Button按鈕控件共計19個,對應(yīng)0~9數(shù)字鍵,“+-*/”運算符鍵,以及其它按鍵。窗體及控件的主要屬性設(shè)置如表2-1所示。

表2-1窗體及控件的主要屬性控件屬性屬性值說明Form1NameForm1窗體名稱TextBox1NameTextBox1文本框控件名稱Button1NameButton1按鍵“0”Button2NameButton2按鍵“.”Button3NameButton3按鍵“歸零”Button5NameButton5按鍵“=”Button6NameButton6按鍵“1”Button7NameButton7按鍵“2”Button8NameButton8按鍵“3”Button9NameButton9按鍵“+”Button10NameButton10按鍵“-”Button11NameButton11按鍵“4”Button12NameButton12按鍵“5”Button13NameButton13按鍵“6”Button14NameButton14按鍵“*”Button15NameButton15按鍵“/”Button16NameButton16按鍵“7”Button17NameButton17按鍵“8”Button18NameButton18按鍵“9”Button19NameButton19按鍵“ON”Button20NameButton20按鍵“OFF”圖2-8設(shè)計界面2.編寫事件代碼首先定義全局變量:

Dimstrmiddle()AsString={"0","0","0"}Dimcalmethod1AsString="0"Dimcalmethod2AsString="0"DimstrdotAsBoolean=False雙擊Button1數(shù)字鍵“0”按鈕,進入該按鈕的事件,編寫代碼如2-2所示。代碼2-2:按鈕的單擊事件PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.ClickIfstrmiddle(0)="0"ThenTextBox1.Text=strmiddle(0)&"."

ElseIf

strdot=FalseThenstrmiddle(0)=strmiddle(0)&"0"TextBox1.Text=strmiddle(0)&"."Elsestrmiddle(0)=strmiddle(0)&"0"TextBox1.Text=strmiddle(0)EndIfEndSub雙擊Button2小數(shù)點鍵“.”,進入該按鈕的事件,編寫代碼如2-3所示。代碼2-3:按鈕的單擊事件PrivateSubButton2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton2.Click

strdot=Truestrmiddle(0)=strmiddle(0)&"."TextBox1.Text=strmiddle(0)EndSub雙擊Button3“歸零”按鍵的按鈕,進入該按鈕的事件。代碼2-4:按鈕的單擊事件PrivateSubButton3_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton3.Clickstrmiddle(0)="0"strmiddle(1)="0"strmiddle(2)="0"calmethod1="0"calmethod2="0"

strdot=FalseTextBox1.Text="0."EndSub雙擊Button5計算按鍵“=”按鈕,進入該按鈕的事件

代碼2-5:按鈕的單擊事件PrivateSubButton5_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton5.ClickIfstrmiddle(2)="0"ThenSelectCasecalmethod1Case"+"TextBox1.Text=Str(Val(strmiddle(1))+Val(strmiddle(0)))Case"-"TextBox1.Text=Str(Val(strmiddle(1))-Val(strmiddle(0)))Case"*"TextBox1.Text=Str(Val(strmiddle(1))*Val(strmiddle(0)))Case"/"Ifstrmiddle(0)="0"ThenTextBox1.Text="error!"ElseTextBox1.Text=Str(Val(strmiddle(1))/Val(strmiddle(0)))EndIfEndSelect

ElseIfcalmethod2="*"Thenstrmiddle(0)=Str(Val(strmiddle(0))*Val(strmiddle(2)))SelectCasecalmethod1Case"+"TextBox1.Text=Str(Val(strmiddle(1))+Val(strmiddle(0)))Case"-"TextBox1.Text=Str(Val(strmiddle(1))-Val(strmiddle(0)))Case"*"TextBox1.Text=Str(Val(strmiddle(1))*Val(strmiddle(0)))Case"/"Ifstrmiddle(0)="0"ThenTextBox1.Text="error!"ElseTextBox1.Text=Str(Val(strmiddle(1))/Val(strmiddle(0)))EndIfEndSelectElse:calmethod2="/"strmiddle(0)=Str(Val(strmiddle(2))/Val(strmiddle(0)))SelectCasecalmethod1Case"+"TextBox1.Text=Str(Val(strmiddle(1))+Val(strmiddle(0)))Case"-"TextBox1.Text=Str(Val(strmiddle(1))-Val(strmiddle(0)))Case"*"TextBox1.Text=Str(Val(strmiddle(1))*Val(strmiddle(0)))Case"/"Ifstrmiddle(0)="0"ThenTextBox1.Text="error!"ElseTextBox1.Text=Str(Val(strmiddle(1))/Val(strmiddle(0)))EndIfEndSelectEndIfEndSub雙擊Button6數(shù)字鍵“1”按鈕,進入該按鈕的事件代碼2-6:按鈕的單擊事件PrivateSubButton6_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton6.ClickIfstrmiddle(0)="0"Thenstrmiddle(0)="1"TextBox1.Text=strmiddle(0)&"."

ElseIf

strdot=FalseThenstrmiddle(0)=strmiddle(0)&"1"TextBox1.Text=strmiddle(0)&"."Elsestrmiddle(0)=strmiddle(0)&"1"TextBox1.Text=strmiddle(0)EndIfEndSub雙擊Button7數(shù)字鍵“2”按鈕,進入該按鈕的事件。代碼2-7:按鈕的單擊事件PrivateSubButton7_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton7.ClickIfstrmiddle(0)="0"Thenstrmiddle(0)="2"TextBox1.Text=strmiddle(0)&"."

ElseIf

strdot=FalseThenstrmiddle(0)=strmiddle(0)&"2"TextBox1.Text=strmiddle(0)&"."Elsestrmiddle(0)=strmiddle(0)&"2"TextBox1.Text=strmiddle(0)EndIfEndSub雙擊Button8數(shù)字鍵“3”按鈕,進入該按鈕的事件。代碼2-8:按鈕的單擊事件PrivateSubButton8_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton8.ClickIfstrmiddle(0)="0"Thenstrmiddle(0)="3"TextBox1.Text=strmiddle(0)&"."

ElseIf

strdot=FalseThenstrmiddle(0)=strmiddle(0)&"3"TextBox1.Text=strmiddle(0)&"."Elsestrmiddle(0)=strmiddle(0)&"3"TextBox1.Text=strmiddle(0)EndIfEndSub雙擊Button9計算鍵“+”按鈕,進入該按鈕的事件。代碼:2-9:按鈕的單擊事件PrivateSubButton9_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton9.ClickIfcalmethod1="0"Thencalmethod1="+"strmiddle(1)=strmiddle(0)strmiddle(0)="0"Else:SelectCasecalmethod1Case"+"strmiddle(1)=Str(Val(strmiddle(0))+Val(strmiddle(1)))strmiddle(0)="0"calmethod1="+"Case"-"strmiddle(1)=Str(Val(strmiddle(1))-Val(strmiddle(0)))strmiddle(0)="0"calmethod1="+"

Case"*"strmiddle(1)=Str(Val(strmiddle(0))*Val(strmiddle(1)))strmiddle(0)="0"calmethod1="+"Case"/"strmiddle(1)=Str(Val(strmiddle(1))/Val(strmiddle(0)))strmiddle(0)="0"calmethod1="+"EndSelectEndIfEndSub雙擊Button10計算鍵“-”按鈕,進入該按鈕的事件,編寫代碼如2-10所示。代碼2-10:按鈕的單擊事件PrivateSubButton10_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton10.ClickIfcalmethod1="0"Thencalmethod1="-"strmiddle(1)=strmiddle(0)strmiddle(0)="0"Else:SelectCasecalmethod1Case"+"strmiddle(1)=Str(Val(strmiddle(0))+Val(strmiddle(1)))strmiddle(0)="0"calmethod1="-"Case"-"strmiddle(1)=Str(Val(strmiddle(1))-Val(strmiddle(0)))strmiddle(0)="0"calmethod1="-"Case"*"strmiddle(1)=Str(Val(strmiddle(0))*Val(strmiddle(1)))strmiddle(0)="0"calmethod1="-"Case"/"strmiddle(1)=Str(Val(strmiddle(1))/Val(strmiddle(0)))strmiddle(0)="0"calmethod1="-"EndSelectEndIfEndSub雙擊Button11數(shù)字鍵“4”按鈕,進入該按鈕的事件。代碼2-11:按鈕的單擊事件PrivateSubButton11_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton11.ClickIfstrmiddle(0)="0"Thenstrmiddle(0)="4"TextBox1.Text=strmiddle(0)&"."

ElseIf

strdot=FalseThenstrmiddle(0)=strmiddle(0)&"4"TextBox1.Text=strmiddle(0)&"."Elsestrmiddle(0)=strmiddle(0)&"4"TextBox1.Text=strmiddle(0)EndIfEndSub雙擊Button12數(shù)字鍵“5”按鈕,進入該按鈕的事件。代碼2-12:按鈕的單擊事件PrivateSubButton12_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton12.ClickIfstrmiddle(0)="0"Thenstrmiddle(0)="5"TextBox1.Text=strmiddle(0)&"."

ElseIf

strdot=FalseThenstrmiddle(0)=strmiddle(0)&"5"TextBox1.Text=strmiddle(0)&"."Elsestrmiddle(0)=strmiddle(0)&"5"TextBox1.Text=strmiddle(0)EndIfEndSub雙擊Button13數(shù)字鍵“6”按鈕,進入該按鈕的事件。代碼2-13:按鈕的單擊事件PrivateSubButton13_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton13.ClickIfstrmiddle(0)="0"Thenstrmiddle(0)="6"TextBox1.Text=strmiddle(0)&"."

ElseIf

strdot=FalseThenstrmiddle(0)=strmiddle(0)&"6"TextBox1.Text=strmiddle(0)&"."Elsestrmiddle(0)=strmiddle(0)&"6"TextBox1.Text=strmiddle(0)EndIfEndSub雙擊Button14計算鍵“*”按鈕,進入該按鈕的事件。代碼2-14:按鈕的單擊事件PrivateSubButton14_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton14.ClickIfcalmethod1="0"Thencalmethod1="*"strmiddle(1)=strmiddle(0)strmiddle(0)="0"Else:SelectCasecalmethod1Case"+"calmethod2="*"strmiddle(2)=strmiddle(0)strmiddle(0)="0"Case"-"

calmethod2="*"strmiddle(2)=strmiddle(0)strmiddle(0)="0"Case"*"strmiddle(1)=Str(Val(strmiddle(0))*Val(strmiddle(1)))strmiddle(0)="0"calmethod1="*"Case"/"strmiddle(1)=Str(Val(strmiddle(1))/Val(strmiddle(0)))strmiddle(0)="0"calmethod1="*"EndSelectEndIfEndSub雙擊Button15計算鍵“/”按鈕,進入該按鈕的事件。代碼2-15:按鈕的單擊事件PrivateSubButton15_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton15.ClickIfcalmethod1="0"Thencalmethod1="/"strmiddle(1)=strmiddle(0)strmiddle(0)="0"Else:SelectCasecalmethod1Case"+"calmethod2="/"strmiddle(2)=strmiddle(0)strmiddle(0)="0"

Case"-"calmethod2="/"strmiddle(2)=strmiddle(0)strmiddle(0)="0"Case"*"strmiddle(1)=Str(Val(strmiddle(0))*Val(strmiddle(1)))strmiddle(0)="0"calmethod1="/"Case"/"strmiddle(1)=Str(Val(strmiddle(1))/Val(strmiddle(0)))strmiddle(0)="0"calmethod1="/"EndSelectEndIfEndSub雙擊Button16數(shù)字鍵“7”按鈕,進入該按鈕的事件。代碼2-16:按鈕的單擊事件PrivateSubButton16_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton16.ClickIfstrmiddle(0)="0"Thenstrmiddle(0)="7"TextBox1.Text=strmiddle(0)&"."

ElseIf

strdot=FalseThenstrmiddle(0)=strmiddle(0)&"7"TextBox1.Text=strmiddle(0)&"."Elsestrmiddle(0)=strmiddle(0)&"7"TextBox1.Text=strmiddle(0)EndIfEndSub雙擊Button17數(shù)字鍵“8”按鈕,進入該按鈕的事件,編寫代碼如2-17所示。代碼2-17:按鈕的單擊事件PrivateSubButton17_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton17.ClickIfstrmiddle(0)="0"Thenstrmiddle(0)="8"TextBox1.Text=strmiddle(0)&"."

ElseIf

strdot=FalseThenstrmiddle(0)=strmiddle(0)&"8"TextBox1.Text=strmiddle(0)&"."Elsestrmiddle(0)=strmiddle(0)&"8"TextBox1.Text=strmiddle(0)EndIfEndSub雙擊Button18數(shù)字鍵“9”按鈕,進入該按鈕的事件。代碼2-18:按鈕的單擊事件PrivateSubButton18_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton18.ClickIfstrmiddle(0)="0"Thenstrmiddle(0)="9"TextBox1.Text=strmiddle(0)&"."

ElseIf

strdot=FalseThenstrmiddle(0)=strmiddle(0)&"9"TextBox1.Text=strmiddle(0)&"."Elsestrmiddle(0)=strmiddle(0)&"9"TextBox1.Text=strmiddle(0)EndIfEndSub雙擊功能鍵“ON”按鈕,進入該按鈕的事件。代碼2-19:按鈕的單擊事件PrivateSubButton19_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton19.ClickTextBox1.Text="0."EndSub雙擊功能鍵“OFF”按鈕,進入該按鈕的事件,編寫代碼如2-20所示。代碼2-20:按鈕的單擊事件PrivateSubButton20_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton20.Click

Me.Close()EndSub編寫上述代碼之后,保存、編譯運行并測試,效果如圖2-9、圖2-10和圖2-11所示。圖2-9計算器運行效果圖2-10測試計算器圖2-11測試計算器項目小結(jié)本項目介紹了常見輸入輸出控件的屬性和事件,通過實例介紹了常見輸入輸出控件的使用方法。最后通過設(shè)計制作計算器實例,介紹了基本語句的編寫,常見計算語句的編寫以及控件編程的基本思路。項目拓展在本項目的基礎(chǔ)上,設(shè)計制作一個文章管理系統(tǒng),即,在代碼中存放著一些文本,要求用戶通過輸入框控件輸入文章題目,點擊“查詢”按鈕,如果能夠搜索到文章題目,文章內(nèi)容在Label控件中顯示出來。項目三設(shè)計制作考試系統(tǒng)

考試系統(tǒng)是現(xiàn)代教育技術(shù)中常用的一種考試形式??荚囅到y(tǒng)通過計算機軟件生成考試題目,考生對生成的考試題目進行答卷,答卷交卷后由考試系統(tǒng)自動判斷答題的對錯,并自動給出分?jǐn)?shù)。本項目通過VB.NET設(shè)計一個簡單的考試系統(tǒng),設(shè)計包括“選擇題”、“判斷題”和“填空題”等考試題型??忌痤}后,本考試系統(tǒng)將對答題情況進行判斷,并給出相應(yīng)的分?jǐn)?shù)。圖3-1考試系統(tǒng)簡單考試系統(tǒng)的功能和使用流程如下:首先是生成考試試卷;考試界面包括“單項選擇題”、“多項選擇題”、“判斷題”和“填空題”等題型,考生根據(jù)題目情況進行答題,答題后,點擊“交卷”按鈕交卷;考試系統(tǒng)自動評出分?jǐn)?shù),并把分?jǐn)?shù)顯示出來。本考試系統(tǒng)的設(shè)計重點為練習(xí)VB.NET控件的使用方法,并不涉及到數(shù)據(jù)庫知識,所以在考試題目設(shè)置上,采用固定的題目以及事先設(shè)定好的答案。讀者可以在學(xué)習(xí)完本書后面數(shù)據(jù)庫相關(guān)項目之后,自行設(shè)計數(shù)據(jù)庫版本的考試系統(tǒng)。

任務(wù)1使用常用控件簡單考試系統(tǒng)的設(shè)計中使用了單選按鈕、復(fù)選按鈕、以及日期、滾動條等控件。本任務(wù),我們將介紹考試系統(tǒng)涉及到的控件的創(chuàng)建和使用方法。1.1使用RadioButton控件和GroupBox控件考試系統(tǒng)的單項選擇題中用到單選按鈕,單選按鈕可以使用RadioButton控件和GroupBox控件來實現(xiàn)。單選按鈕的最大特點就是同一組的按鈕相互排斥,每次只能選中其中的一項。如圖3-2所示。圖3-2RadioButton按鈕單選按鈕RadioButton常用的屬性如下:(1)Text屬性:用來設(shè)置或返回控件內(nèi)顯示的文本;(2)Checked屬性:用來設(shè)置或返回空間按鈕是否被選中。值為True時,表示控件被選中,值為False時,表示控件沒有被選中;(3)AutoCheck屬性:當(dāng)該屬性設(shè)置為True時,當(dāng)選擇該單選按鈕時,將自動清除該組中的所有其它單選按鈕。

單選按鈕RadioButton常用的事件如下:(1)Click事件:當(dāng)單擊控件按鈕時,將把控件按鈕的Checked屬性值設(shè)置為True,同時發(fā)生Click事件;(2)CheckedChanged事件:當(dāng)Checked屬性值更改時,將觸發(fā)CheckedChanged事件。GroupBox控件用于為其它控件提供可識別的分組。通常,使用分組框按功能細分窗體。例如,在考試系統(tǒng)中,各個題目都有相應(yīng)的選項,為了區(qū)分不同題目的選項,可以采用GroupBox控件進行分組區(qū)分。如圖3-3所示。圖3-3RadioButton分組GroupBox分組控件的常用屬性如下:Text屬性:用來設(shè)置或返回控件標(biāo)題的文本。接下來使用RadioButton單選按鈕控件創(chuàng)建考試系統(tǒng)中的單項選擇題和判斷題。新建一個VB.NETWindows應(yīng)用程序,創(chuàng)建單項選擇題。在新建的窗體中拖入如圖3-4所示的控件。分別為:三個Label控件,其Text屬性分別為:“簡單考試系統(tǒng)”、“一、單項選擇題”和“1.對于所有控件,都可以使用()屬性設(shè)置或返回文本?!?。再拖入四個RadioButton控件,其Text屬性分別為:“A.Text”、“B.Font”、“C.Name”和“D.Caption”。圖3-4單選題拖入一個Button按鈕,將其Text屬性設(shè)置為“交卷”,雙擊“交卷”按鈕,添加如3-1所示的代碼。代碼3-1:“交卷”按鈕的單擊事件

PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.ClickIfRadioButton1.CheckedThen

MessageBox.Show(“答案正確!100分")Else

MessageBox.Show(“答案錯誤,正確答案是A!0分")EndIfEndSub調(diào)試程序運行,選擇正確答案A并點擊交卷時

,顯示結(jié)果如圖3-5所示。選擇其它錯誤答案時,顯示結(jié)果如圖3-6所示。圖3-5提示圖3-6提示再建立一個VB.NETWindows應(yīng)用程序,創(chuàng)建判斷題。在新創(chuàng)建的窗體中拖入如下控件。在窗體中拖入三個Label控件,其Text屬性分別為“簡單考試系統(tǒng)”、“二、判斷題”和“1.雙擊“工具箱”中的控件,該控件將按其默認大小添加到窗體的左上角?!?。再拖入兩個RadioButton控件,其Text屬性分別為“對”、“錯”。最后拖入一個Button控件,其Text屬性設(shè)置為“交卷”,如圖3-7所示。圖3-7判斷題雙擊“交卷”按鈕,進入代碼編輯頁面,添加如3-2所示的代碼。代碼3-2:“交卷”按鈕的單擊事件

PrivateSubButton1_Click_1(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.ClickIfRadioButton1.CheckedThen

MessageBox.Show("正確!")Else

MessageBox.Show("錯誤,該判斷題意是正確的!")EndIfEndSub1.2使用CheckBox控件考試系統(tǒng)的多項選擇題中用到復(fù)選按鈕,復(fù)選按鈕可以使用CheckBox控件來實現(xiàn)。CheckBox控件和單選按鈕RadioButton控件相似的地方是,都提供給用戶可以選擇的項,不同在于,用戶可根據(jù)需要在CheckBox控件中選擇其中的一項或多項。圖3-8CheckBox控件復(fù)選按鈕CheckBox控件最常用的屬性如下:(1)Text屬性:用來設(shè)置或返回控件內(nèi)顯示的文本;(2)Checked屬性:用來設(shè)置或返回控件按鈕是否被選中;復(fù)選按鈕CheckBox控件最常用的事件如下:(1)Click事件:當(dāng)單擊控件按鈕時,將把控件按鈕的Checked屬性值設(shè)置為True,同時發(fā)生Click事件;(2)CheckedChanged事件:當(dāng)Checked屬性值更改時,將觸發(fā)CheckedChanged事件。接下來使用復(fù)選按鈕CheckBox控件創(chuàng)建考試系統(tǒng)中的多項選擇題。新建一個VB.NETWindows應(yīng)用程序,創(chuàng)建多項選擇題。在新建的窗體中拖入如下控件。首先拖入三個Label控件,其Text屬性分別為“簡單考試系統(tǒng)”、“一、多項選擇題”和“1.對于顯示圖像的所有控件,都可以使用()方法設(shè)置圖像?!?。然后拖入四個CheckBox控件,其Text屬性分別為“A.設(shè)置image屬性”、“B.設(shè)置BackgroundImage屬性”、“C.編程”和“D.設(shè)置Text屬性”。最后拖入一個Button控件,其Text屬性設(shè)置為“交卷”,如圖3-9所示。圖3-9多選題雙擊“交卷”按鈕,在其單擊事件中添加代碼。代碼3-3:“交卷”按鈕的單擊事件

PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.ClickIfCheckBox1.CheckedAndCheckBox2.CheckedAndCheckBox3.CheckedAndNotCheckBox4.CheckedThen

MessageBox.Show("答案正確!")Else

MessageBox.Show("答案錯誤,正確答案是ABC")EndIfEndSub調(diào)試程序運行,選擇正確答案并點擊交卷時,顯示結(jié)果如圖3-10和圖3-11所示。圖3-10多選題圖3-11提示當(dāng)選擇其它答案時,顯示結(jié)果如圖3-12所示。圖3-12提示1.3使用日期控件常用的日期控件有兩個,用于顯示月歷和日期,分別是MonthCalendar(月歷)控件和DateTimePicker(日期選擇框)控件。這兩個控件的外觀如圖3-13所示。圖3-13日期控件接下來我們是用日期控件來設(shè)計一個簡單的程序,程序中用戶可以使用三種控件(分別是:單選按鈕、月歷控件和日期選擇控件)來選擇日期,并形成這三種控件的互動。新建一個VB.NETWindows應(yīng)用程序。在新建的窗體中拖入一個GroupBox控件,更改其Text屬性為“選擇月份”。在該GroupBox控件上拖入12個RadioButton單選按鈕控件,把它們的Text屬性分別設(shè)置為“一月”、“二月”、…“十二月”。然后拖入一個MonthCalendar和一個DateTimePicker控件。如圖3-14所示。圖3-14日期控件應(yīng)用程序接下來,進入該程序的代碼編輯頁面,首先在Form1的類定義中添加如3-4所示的代碼。代碼3-4:changemonth方法

PrivateSubchangemonth(ByValmonthAsInteger)Ifmonth>=1Andmonth<=12ThenDimnewdateAsNewDateTime(DateTimePicker1.Value.Year,month,1)DateTimePicker1.Value=newdateMonthCalendar1.SelectionStart=newdateMonthCalendar1.SelectionEnd=newdate.AddDays(3)EndIfEndSub此段程序中,關(guān)鍵語句DimnewdateAsNewDateTime(DateTimePicker1.Value.Year,month,1)中,DateTimePicker1.Value.Year

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論