版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第5章圖書管理系統(tǒng)設(shè)計(jì)5.1分析圖書管理系統(tǒng)的業(yè)務(wù)需求5.2窗體與控件對象5.3為系統(tǒng)登陸界面設(shè)計(jì)窗體容器5.4為登陸窗體添加標(biāo)簽〔Label〕控件5.5為登陸窗體添加文本框〔TextBox〕控件5.6為登陸窗體添加命令按鈕(Button)控件5.7過程的其它相關(guān)知識(shí)5.8習(xí)題5.1分析圖書管理系統(tǒng)的業(yè)務(wù)需求系統(tǒng)的主要功能將分為以下幾個(gè)方面:〔1〕數(shù)據(jù)輸入讀者根本信息輸入,例如讀者的編號(hào)、姓名、性別、年齡等。圖書根本信息輸入,例如圖書的條碼、名稱、作者、出版社、出版時(shí)間等。借閱情況的輸入,即當(dāng)又讀者借閱某書后,向數(shù)據(jù)庫添加借閱信息?!?〕數(shù)據(jù)修改包括讀者根本信息、圖書根本信息輸入、借閱信息的修改功能?!?〕數(shù)據(jù)查詢包括讀者根本信息、圖書根本信息輸入、借閱信息的查詢功能。由此,系統(tǒng)各局部功能模塊如以下圖所示。管理員登陸系統(tǒng)主界面讀者管理讀者信息錄入讀者信息修改圖書信息查詢圖書信息修改圖書信息錄入讀者信息查詢借閱信息錄入圖書管理借閱管理借閱信息查詢借閱信息修改5.2窗體與控件對象1.對象的屬性和現(xiàn)實(shí)世界中的對象實(shí)體一樣,VisualBasic.NET中的每個(gè)控件都有一組特征,這組特征就是控件的屬性,選定一個(gè)控件,在屬性窗口中就可以看到該控件的大局部屬性及默認(rèn)值,修改控件的屬性能夠控制控件的外觀和操作。屬性通??梢栽诳丶O(shè)計(jì)階段設(shè)置,也可以在程序運(yùn)行時(shí)得到或改變屬性的值。2.對象的方法控件的方法就是能夠完成某種功能的程序,其功能的代碼是VisualBasic.NET系統(tǒng)已經(jīng)設(shè)計(jì)好的,不需要用戶自己編寫,用戶只需要用某種特定的調(diào)用格式調(diào)用這些方法。3.對象的事件在現(xiàn)實(shí)生活中,皮球能響應(yīng)人的拍打動(dòng)作,同樣,VisualBasic.NET中的對象也能響應(yīng)外界的動(dòng)作,我們把這種能被對象識(shí)別的動(dòng)作稱為事件。事件能引發(fā)對象的活動(dòng),即事件被觸發(fā)后對象可以執(zhí)行相應(yīng)事件的代碼。不同的對象能夠響應(yīng)的事件也不完全相同,VisualBasic.NET編程的核心就是為每個(gè)要處理的事件編寫響應(yīng)事件的過程代碼,為不同的對象響應(yīng)不同事件編寫的事件過程就構(gòu)成了應(yīng)用程序。5.3為系統(tǒng)登陸界面設(shè)計(jì)窗體容器幾乎在任何一個(gè)圖書管理系統(tǒng)中,管理員使用軟件時(shí)都需要翻開登陸界面,輸入帳號(hào)和密碼確認(rèn)后進(jìn)入系統(tǒng),在本章中我們也將完成一個(gè)如下圖的登陸系統(tǒng)界面。5.3.1窗體的主要屬性1.Name屬性用來設(shè)置或返回窗體的名稱。2.Text屬性該屬性確定顯示在Form的標(biāo)題欄中的文本。當(dāng)窗體為最小化時(shí),該文本被顯示在窗體圖標(biāo)的下面。3.Size屬性該屬性有兩個(gè)值,分別用來返回或設(shè)置窗體的寬度和高度4.BackColor屬性返回或設(shè)置窗體對象的背景顏色。5.BackGroundImage屬性該屬性主要用來設(shè)置窗體中要顯示的圖片,在設(shè)計(jì)狀態(tài)下,單擊屬性窗口中的BackGroundImage設(shè)置框右側(cè)的“...〞,翻開如以下圖所示的【選擇資源】對話框。選中【本地資源】選項(xiàng),單擊【導(dǎo)入】對話框,翻開如以下圖所示的對話框,選擇圖片文件,單擊【翻開】按鈕,可為窗體設(shè)定相應(yīng)的背景圖片。6.FormBorderStyle屬性 該屬性用于控制窗體邊界的類型,屬性值的設(shè)置如下表所示設(shè)置值描述None窗體沒有邊框,可以改變大小FixedSingle窗體為單線邊框,不能改變大小,可以包含最大化、最小化和關(guān)閉按鈕。Sizable(缺省值)雙線邊框,可調(diào)整的邊框,可以包含最大化、最小化和關(guān)閉按鈕。Fixed3D3D邊框。不能改變窗體大小,可以包含最大化、最小化和關(guān)閉按鈕。FixedDialog用于對話框,不允許改變窗體大小,可以包含最大化、最小化和關(guān)閉按鈕。FixedToolWindow用于工具窗口,不能改變窗體大小。只帶有標(biāo)題和關(guān)閉按鈕。SizableToolWindow用于工具窗口,能改變窗體大小。只帶有標(biāo)題和關(guān)閉按鈕。7.MaximizeBox/MinimizeBox屬性設(shè)置窗體上是否具有最大化/最小化按鈕。當(dāng)數(shù)屬性取True時(shí),表示窗體具有最大化/最小化按鈕,假設(shè)屬性取False時(shí),表示窗體沒有最大化/最小化按鈕。8.WindowState屬性取值常數(shù)描述Normal0(缺省值)正常。Minimized1最小化(最小化為一個(gè)圖標(biāo))Maximized2最大化(擴(kuò)大到最大尺寸)5.3.2窗體的主要事件窗體常用事件如下:〔1〕Click事件當(dāng)用鼠標(biāo)單擊窗體時(shí)觸發(fā)該事件?!?〕DoubleClick事件當(dāng)用鼠標(biāo)雙擊窗體時(shí)觸發(fā)該事件?!?〕Load事件此事件在一個(gè)窗體被裝載時(shí)發(fā)生。當(dāng)應(yīng)用程序運(yùn)行時(shí),對啟動(dòng)窗體來說,在窗體畫面未顯示之前,會(huì)先觸發(fā)該事件。對于未被加載的窗體,如果使用Load語句,或未裝載前使用Show方法時(shí)都可以觸發(fā)該事件?!?〕Resize事件當(dāng)窗體第一次顯示或窗口狀態(tài)改變時(shí)該事件發(fā)生。例如,一個(gè)窗體被最大化、最小化或被復(fù)原,或者在與運(yùn)行時(shí)用代碼改變了窗體大小等?!?〕Activate和DeActivate事件Activate事件時(shí)當(dāng)一個(gè)窗體變成活動(dòng)窗體時(shí)觸發(fā)。DeActivate是當(dāng)另一個(gè)窗體或應(yīng)用程序被激活,當(dāng)前窗體不再是活動(dòng)窗口時(shí)觸發(fā)?!?〕FormClosed事件當(dāng)窗體關(guān)閉時(shí)觸發(fā)該事件。5.3.3窗體的方法對象的方法用來實(shí)際上是VisualBasic.NET提供的一種特殊的子程序,用來完成一定的操作。窗體常用的方法如下:〔1〕Show方法Show方法用來顯示窗體,如果使用Show方法時(shí)窗體還沒有裝載,VisualBasic.NET將自動(dòng)裝載窗體。語法:對象.Show()〔2〕Hide方法Hide方法用來隱藏窗體,但窗體并不從內(nèi)存去除,應(yīng)用程序仍然可以訪問窗體上的控件。語法:對象.Hide()〔3〕Refresh方法Refres方法用來強(qiáng)制窗體重繪,當(dāng)希望窗體或控件立即更新時(shí)可以使用該方法。語法:對象.Refresh()〔4〕Close方法Close方法關(guān)閉窗體,窗體關(guān)閉后,關(guān)閉在該對象內(nèi)創(chuàng)立的所有資源并且釋放該窗體。如果要關(guān)閉的窗體是應(yīng)用程序的啟動(dòng)窗體,那么該應(yīng)用程序結(jié)束。語法:對象.Close()5.3.4設(shè)計(jì)Windows窗體【例】設(shè)計(jì)圖書管理系統(tǒng)的登陸窗體。學(xué)習(xí)了以上窗體的根本知識(shí),設(shè)計(jì)一個(gè)登陸窗體的步驟操作如下:〔1〕啟動(dòng)VisualBasic.NET,選擇【新建工程】菜單命令,翻開以下圖所示【新建工程】對話框。選中【W(wǎng)indows應(yīng)用程序】模板,輸入工程名稱“圖書管理系統(tǒng)〞,單擊【確定】按鈕,系統(tǒng)將添加一默認(rèn)名稱Form1.vb的窗體,如下圖?!?〕單擊選擇Form1,通過屬性窗口設(shè)置窗體常用屬性如表所示。屬性名稱屬性值Name登陸系統(tǒng)Text登陸系統(tǒng)FormBoderStyleFixedSingleSize300,200MaximizeBoxFalse〔3〕選擇BackColor屬性框右側(cè)的下拉箭頭,翻開【自定義】顏色調(diào)色板,為窗體設(shè)置如下圖的背景顏色?!?〕在解決方案資源管理器中右鍵單擊窗體名稱“Form1.vb〞,在彈出的菜單中選擇【重命名】菜單,如以下圖所示,窗體名稱變?yōu)榭删庉嫚顟B(tài),改變窗體名稱“登陸系統(tǒng).vb〞?!?〕單擊【保存全部】按鈕,翻開如以下圖所示的【保存工程】對話框,選擇“D:\圖書管理系統(tǒng)實(shí)例〞目錄,設(shè)置工程名稱“圖書管理系統(tǒng)〞,單擊【保存】按鈕保存工程和窗體。5.4為登陸窗體添加標(biāo)簽〔Label〕控件窗體創(chuàng)立以后,接下來就可以向窗體上添加需要的控件了。標(biāo)簽〔Label〕控件是VisualBasic.NET中最常用的控件之一,主要用來顯示數(shù)據(jù)和提示信息。標(biāo)簽〔Label〕控件的常用屬性1.Text屬性該屬性可用來獲得或設(shè)置標(biāo)簽〔Label〕控件上顯示的具體內(nèi)容。2.Visible屬性該屬性用來設(shè)置控件是否可見,如True控件可見,假設(shè)為False那么控件不可見。5.4.2完成標(biāo)簽〔Label〕控件的設(shè)計(jì)【例5.2】向窗體上添加提示“帳號(hào)〞和“密碼〞的標(biāo)簽〔Label〕控件,并設(shè)置其屬性。具體實(shí)現(xiàn)步驟如下:〔1〕單擊工具箱上的標(biāo)簽〔Label〕控件按鈕,在窗體上拖動(dòng)鼠標(biāo)繪制一個(gè)適宜大小的標(biāo)簽〔Label〕控件,該標(biāo)簽控件的Text默認(rèn)為“Label1〞,移動(dòng)控件到適宜位置?!?〕用相同的方法添加另一個(gè)標(biāo)簽〔Label〕控件。〔3〕設(shè)置兩個(gè)Label控件的屬性如表所示??丶Q屬性屬性值Label1Text用戶名:ForeColorWhiteLabel1Text密碼:ForeColorWhite5.5為登陸窗體添加文本框〔TextBox〕控件接下來,我們繼續(xù)為窗體添加所需文本框〔TextBox〕控件,以允許用戶輸入對應(yīng)的用戶名和密碼。在這之前,我們需要先學(xué)習(xí)一下文本框〔TextBox〕控件幾個(gè)重要的屬性、方法和事件。5.5.1TextBox控件的常用屬性1.Text屬性該屬性用來設(shè)置或返回文本框〔TextBox〕控件中的內(nèi)容。設(shè)置文本框〔TextBox〕控件內(nèi)容的方法:對象.Text=〞abc〞返回文本框〔TextBox〕控件內(nèi)容并賦給變量s的方法:s=對象.Text2.MaxLength屬性用來設(shè)置TextBox控件中能夠輸入的字符的最大數(shù)量。語法:對象.MaxLength=n3.PasswordChar屬性為了在文本框中不顯示密碼原文而使用其它占位符代替,可應(yīng)用此屬性。大多數(shù)基于Windows的應(yīng)用程序都使用*做占位符。4.ReadOnly屬性ReadOnly屬性是布爾型,用于設(shè)置是否可以編輯文本框的Text屬性內(nèi)容,默認(rèn)是False,此時(shí)文本框是可編輯的。當(dāng)設(shè)置該屬性為True時(shí),文本框只讀,不能編輯。5.Enabled屬性當(dāng)Enabled屬性為False時(shí),文本框是灰色的,文本框不能獲得焦點(diǎn),不能對文本框執(zhí)行任何操作,也不能響應(yīng)事件。5.5.2TextBox控件的常用事件1.TextChanged事件當(dāng)文本框的內(nèi)容發(fā)生改變時(shí),觸發(fā)該事件。2.KeyPress事件當(dāng)文本框具有焦點(diǎn)時(shí),按下任意鍵就會(huì)觸發(fā)該事件。3.LostFocus事件當(dāng)使用Tab鍵或用鼠標(biāo)單擊窗體上其它的對象,從而使該文本框失去焦點(diǎn)時(shí)觸發(fā)該事件。5.5.3TextBox控件的常用方法1.Focus方法該方法的作用是是該文本框獲得焦點(diǎn),以便輸入或修改數(shù)據(jù)。2.Undo方法該方法的作用是取消對文本框的上一次操作。5.5.4完成文本框〔TextBox〕控件的設(shè)計(jì)【例5.3】向窗體上添加輸入用戶名和密碼信息的文本框〔TextBox〕控件,并設(shè)置其屬性。具體操作步驟如下:〔1〕單擊工具箱上的文本框〔TextBox〕控件按鈕,在窗體上拖動(dòng)鼠標(biāo)繪制一個(gè)適宜大小的文本框〔TextBox〕控件,移動(dòng)控件到適宜位置?!?〕用相同的方法添加另一個(gè)文本框〔TextBox〕控件?!?〕設(shè)置兩個(gè)文本框的屬性如下表所示??丶Q屬性屬性值TextBox1Text空Size100,21MaxLength20TextBox2Text空Size100,21PasswordChar*MaxLength205.6為登陸窗體添加命令按鈕(Button)控件5.6.1命令按鈕控件的常用屬性1.Text屬性Text屬性用來設(shè)置命令按鈕中顯示的文字信息。2.Image屬性Image屬性用來設(shè)置在命令按鈕上顯示的圖像。5.6.2完成按鈕功能【例5.4】為窗體添加命令按鈕〔Button〕控件,使其能對用戶輸入的信息進(jìn)行判斷。具體步驟如下:〔1〕單擊工具箱上的命令按鈕〔Button〕控件,在窗體上拖動(dòng)鼠標(biāo)繪制一個(gè)適宜大小的命令按鈕〔Button〕,移動(dòng)控件到適宜位置。〔2〕設(shè)置命令按鈕〔Button〕的屬性如表所示。〔3〕為按鈕添加事件過程代碼控件名稱屬性屬性值Button1Text確定Button2Text取消事件過程定義的一般形式為:PrivateSub對象名_事件名稱([參數(shù)列表])Handles事件列表[局部變量和常數(shù)聲明]語句塊EndSub說明:對象名_事件名稱是事件的默認(rèn)名稱,我們可以根據(jù)需要修改事件的名稱。窗體前面的Private表示該過程只能在該窗體中使用。Handles關(guān)鍵字聲明過程處理一個(gè)指定事件。事件列表指要處理的具體事件是哪一個(gè)?!?〕編寫事件代碼〔5〕運(yùn)行程序5.7過程的其它相關(guān)知識(shí)實(shí)際上,在一個(gè)應(yīng)用程序中,都提供了一個(gè)或多個(gè)特定功能的功能塊,一個(gè)功能塊就是一段程序,在VisualBasic.NET中我們把它定義成過程。定義了過程的好處在于,一個(gè)程序員只要將這個(gè)過程聲明一次,就可以在任何需要使用該功能的地方調(diào)用這個(gè)過程就可以了,而不需要再重新定義,即一次定義,屢次使用,提高了代碼的邏輯性和重用性。進(jìn)一步,在VisualBasic.NET的應(yīng)用程序中又可以定義模塊,一個(gè)模塊又由多個(gè)過程組成,一個(gè)應(yīng)用程序通過過程間的相互調(diào)用構(gòu)成。過程(功能塊)用戶1用戶2用戶n調(diào)用調(diào)用調(diào)用5.7.1通用Sub過程的定義VisualBasic.NET的Sub過程有兩種:事件過程和通用過程。有關(guān)事件過程的定義和使用我們在前面已經(jīng)介紹,這里要介紹的是通用過程的相關(guān)知識(shí)。通用Sub過程的定義格式如下:[Public|Private][Static]Sub過程名([參數(shù)列表]) [局部變量和常數(shù)聲明] 語句塊 [ExitSub] 語句塊Endsub其中:Public表示過程是公用的,應(yīng)用程序可以隨處調(diào)用它〔假設(shè)定義在窗體,其它窗體的程序調(diào)用時(shí)要指定窗體名〕。Private表示過程為局部的,只有在該過程所在模塊中的程序才可以調(diào)用。Static表示過程中所有局部變量的存儲(chǔ)空間只分配一次,且它們的值在整個(gè)程序運(yùn)行期間都存在。參數(shù)列表中的參數(shù)本身沒有值,系統(tǒng)不為其分配存儲(chǔ)空間,因此稱為形參,多個(gè)形參之間用逗號(hào)隔開。ExitSub語句使執(zhí)行立即從一個(gè)Sub過程中退出,程序接著從調(diào)用該Sub過程語句的下一句繼續(xù)執(zhí)行。形參的定義格式為:[ByVal]變量名[()][As類型][,[Byval]變量名[()][As類型]…]5.7.2通用Sub過程的創(chuàng)立【例5.5】建立一個(gè)計(jì)算個(gè)人所得稅的Sub過程。建立一個(gè)過程的方法如下:〔1〕翻開代碼窗口,選擇對象列表框中的【常規(guī)】選項(xiàng)?!?〕在代碼編輯區(qū)的空白行處輸入“PublicSubctax(moneysAsDouble)〞。〔3〕按回車鍵,自動(dòng)出現(xiàn)“EndSub〞語句,在過程體中輸入代碼,如下所示:PublicSubctax(moneysAsDouble)'moneys為個(gè)人月收入DimtaxAsDoubleIf(moneys-2000)<=0Thentax=0ElseIf(moneys-2000)<=500Thentax=(moneys-2000)*0.05ElseIf(moneys-2000)<=2000Thentax=(moneys-2000)*0.1-25ElseIf(moneys-2000)<=5000Thentax=(moneys-2000)*0.15-125ElseIf(moneys-2000)<=20000Thentax=(moneys-2000)*0.2-375ElseIf(moneys-2000)<=40000Then
tax=(moneys-2000)*0.25-1375ElseIf(moneys-2000)<=60000Thentax=(moneys-2000)*0.3-3375ElseIf(moneys-2000)<=80000Thentax=(moneys-2000)*0.35-6375ElseIf(moneys-2000)<=100000Thentax=(moneys-2000)*0.4-10375Elsetax=(moneys-2000)*0.45EndIfMsgBox"該員工的個(gè)人所得稅為"&tax&"元"EndSub5.7.3Sub過程的調(diào)用調(diào)用Sub過程由兩種方式:1.用Call調(diào)用語法:Call過程名(實(shí)際參數(shù)列表)說明:實(shí)際參數(shù)的個(gè)數(shù)、類型和順序都要和形參相匹配。如果過程不帶參數(shù),那么括號(hào)可以省略。2.把過程名作為一個(gè)語句語法:過程名〔[實(shí)參1[,實(shí)參2…]]〕5.7.4過程調(diào)用中的參數(shù)傳遞VisualBasic.NET的參數(shù)傳遞實(shí)際上又分為值傳遞和地址傳遞兩種方式。1.
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 七年級(jí)道德與法治上冊第三單元師長情誼第六課師生之間第1框走近老師教案新人教版
- 三年級(jí)科學(xué)上冊第三單元天氣與我們的生活第十四課我的雨量器教案青島版
- 小學(xué)生家校溝通制度
- 《吃蟲草》課件(3篇)
- 《行行重行行完整》課件
- 三年級(jí)閱讀課教學(xué)參考計(jì)劃范文5篇
- 破釜沉舟成語故事課件全
- 2021年衛(wèi)生法簡答題
- 風(fēng)險(xiǎn)合規(guī)管理培訓(xùn)課件
- 2021年全國應(yīng)急普法知識(shí)考試題庫(全真題庫)
- 2024-2025學(xué)年寒假致學(xué)生家長的一封信(安全版)
- 浙江省杭州市2023-2024學(xué)年高一上學(xué)期1月期末英語試題 含解析
- 《論語》導(dǎo)讀(復(fù)旦版)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 衛(wèi)生部手術(shù)分級(jí)目錄(2023年1月份修訂)
- 農(nóng)副產(chǎn)品交易中心運(yùn)營方案
- 四川省南充市2019-2020學(xué)年九年級(jí)上期末數(shù)學(xué)試卷(含答案解析)
- 上海市寶山區(qū)2019屆高三英語一模含答案
- 《數(shù)與形》教學(xué)反思
- 智多星建設(shè)工程造價(jià)軟件操作及應(yīng)用PPT課件
- 2022年鋼筋購銷合同模板
- 全員安全管理保證體系框圖
評(píng)論
0/150
提交評(píng)論