




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第三章 常用控件與界面設(shè)計3.1 創(chuàng)建窗體3.2 VB常用控件3.4 多窗體界面程序設(shè)計(自學(xué))3.5 界面設(shè)計程序示例(課外閱讀)1掌握窗體的常用屬性、方法和事件;掌握11個常用控件(命令按鈕、文本框、標簽、單選鈕、復(fù)選框、框架、列表框、組合框、圖象控件與圖片框、時鐘等)的常用屬性、重要事件和方法的使用。本章重點:23.1 創(chuàng)建窗體窗體是VB中最重要的對象,是存放控件的容器對象.窗體對象是運行應(yīng)用程序時與用戶交互操作的實際窗口.新建工程時,系統(tǒng)會自動建立一個空窗體.窗體對象有其自有的屬性用于控制其外觀,同時也擁有自身的事件和方法來表明該對象實現(xiàn)的功能.3窗體屬性決定了窗體的外觀與操作。窗體外
2、觀如下圖 一、窗體的屬性 4 窗體的屬性類別有5類.分別是雜項,外觀,行為,位置,字體.(見表3-1)屬性名稱缺省值名稱(Name)窗體名稱Form1Caption窗體標題Form1Icon窗體圖標BackColor/ForeColor窗體背景色/前景色Moveable決定對象是否能被移動TrueBorderStyle邊框風(fēng)格2Enabled決定對象是否活動TrueFont字體Visible可見性TrueWindowState窗體狀態(tài)Picture設(shè)置對象的圖形Left、Top、Height、Width左邊距、頂邊距、高度、寬度51)在設(shè)計態(tài)通過屬性窗口設(shè)置直接在屬性窗口中選擇或輸入既可。 2
3、)在程序代碼中改變屬性值代碼中的格式為: 對象名 . 屬性 = 屬性值例:Form1.Caption=“練習(xí)” 擴展:對于其他的對象格式也是完全一樣 例: label1.caption=“歡迎來到VB” =“黑體” label1.font.size=72定制窗體的屬性61. Name屬性: 表示窗體的名稱。用來在程序代碼中惟一標識窗體對象 最好給Name屬性設(shè)置一個有實際意義的名稱,窗體的命名一般用frm前綴,后面跟描述性的名稱,如給一個程序的主控窗體命名為frmMain ,可增強程序的可讀性。 在VB中,所有的對象,包括窗體及控件都具有Name屬性。7窗體命名
4、規(guī)則1、一個窗體名必須以一個字母(中文)開頭2、可以包含數(shù)字和下劃線_3、不可以包含空格和標點符號4、窗體名長度不得超過40個字符。課后習(xí)題282Caption 屬性: 窗體的標題。 注意:Name屬性與Caption的區(qū)別。電影中的經(jīng)典語句:女:“我喜歡的是你的人,而不是你的外表”VB表示法:我喜歡的是你的name,而不是你的caption。可以在屬性窗口或代碼窗口中設(shè)置Caption屬性.實例一93 .BackColor屬性和ForeColor屬性 BackColor:窗體的背景色. ForeColor:窗體的前景色, 通常用于設(shè)置在窗體里輸出的文本顏色。 實例二 該屬性設(shè)置方法有三:a:
5、在屬性窗口中,用鼠標單擊該屬性右側(cè)帶有省略號的按鈕選擇。b: 在代碼中使用RGB函數(shù)C:在代碼中用十六進制長整數(shù)或VB系統(tǒng)內(nèi)部常量10例:將窗體Form1的背景色設(shè)置為紅色,則可使用下面三種情況: Form1.BackColor = RGB(255, 0, 0) Form1.BackColor = &HFF& Form1.BackColor = vbRed練習(xí)1:單擊窗體時,窗體的背景色設(shè)置為綠色。114. Font屬性 具有多個子屬性。FontName屬性是字符型,決定對象上正文的字體(缺省為宋體)。 FontSize屬性是整型,決定對象上正文的字體大小。 FontBold屬性是邏輯型,決定
6、對象上正文是否是粗體。FontItalic屬性是邏輯型,決定對象上正文是否是斜體。 FontStrikeThru屬性是邏輯型,決定對象上正文是否加一刪除線。 FontUnderLine屬性是邏輯型,決定對象上正文是否帶下劃線。 可以在屬性窗口或代碼窗口中進行設(shè)置。練習(xí)2125、Height、width、top和left屬性13 窗體的位置由top 和left屬性決定。窗體運行在屏幕中,窗體的位置是相對于屏幕的位置。窗體的left和top屬性值是屏幕左邊到窗體左邊的距離、屏幕上邊到窗體上邊的距離,默認單位是緹(twip)。對于控件, left和top屬性值是相對于“容器”的位置。 form1.t
7、op=567 form1.left=5671 twip=1/1440英寸=1/567cm 窗體的大小由height 和width屬性決定。默認單位也是緹(twip)。14實例三編寫代碼,使得在窗體Form1被加載時,將其大小設(shè)置為屏幕大小的50%,并居中顯示.Private Sub Form_Load() Form1.Width = Screen.Width * 0.5 Form1.Height = Screen.Height * 0.5 Form1.Left = (Screen.Width - Form1.Width) / 2 Form1.Top = (Screen.Height - For
8、m1.Height) / 2End Sub156、Enabled屬性(邏輯值) 用于設(shè)置窗體是否響應(yīng)鼠標或鍵盤事件。 True :允許用戶進行操作,并對操作出響應(yīng)(缺省值) 。 False:禁止用戶進行操作。167. Visible屬性(邏輯值) 決定窗體是否可見 True :運行時控件可見(缺省值) 。 False:運行時控件隱藏,用戶看不到,但控件本身是存在的。注意:Enabled 與 Visible 的區(qū)別Enabled屬性一旦被設(shè)置成false,則該對象就不能進行任何操作。Visible屬性一旦被設(shè)置成false,則表示該對象在運行時就看不到了。178、MaxButton最大化按鈕和M
9、inButton最小化按鈕: 當(dāng)值為True,有最大或最小化按鈕,F(xiàn)alse則無。 9、ControlBox:控制菜單框?qū)傩裕?設(shè)置為True有控制菜單框;設(shè)置為False則無控件菜單,同時窗體也無最大化按鈕和最小化按鈕,即使MaxButton屬性和MinButton屬性設(shè)置為True。10、Icon 控制圖標屬性: 設(shè)置窗體左上角顯示或最小化時顯示的圖標。 注意:此屬性必須在ControlBox屬性設(shè)置為True才有效1811、BorderStyle:邊框風(fēng)格0-None:無邊框;1-Fixed Single:單線邊框,不可以改變窗口大?。?2-Sizable:雙線邊框,可以改變窗口大小;3
10、-Fixed Double:雙線框架,不可以改變窗口大小。4-Fixed Tool Window:窗體外觀與工具條相似。有關(guān)閉按鈕 ,不可以改變窗口大小。5-Sizable Tool Window:窗體外觀與工具條相似。有關(guān)閉按鈕 ,可以改變窗口大小。19 0-Normal:正常窗口狀態(tài),有窗口邊界; 1:最小化狀態(tài),以圖標方式運行; 2:最大化狀態(tài),無邊框,充滿整個屏幕。 12.WindowsState屬性13Picture圖片屬性: 設(shè)置窗體中要顯示的圖片。加載圖片操作同Icon 控制圖標屬性。20二、窗體的常用方法 顯示Show隱藏Hide清除Cls移動Move打印輸出Print打印窗體
11、Printform21窗體名.方法名方法的使用形式:注意:使用方法時,窗體名可以省略. 如果窗體名省略,表示當(dāng)前窗體。1.Hide隱藏方法Hide方法用于隱藏在屏幕上的窗體,但不從內(nèi)存中刪除窗體。其格式為: 窗體名.hide22 Show方法用來顯示一個已經(jīng)裝入內(nèi)存的窗體.其語法如下: 窗體名.show mode 可選參數(shù)mode為0(默認值)時窗體為非模式,為1時窗體為模式. 模式窗體完全占有應(yīng)用程序控制權(quán),不允許切換到別的應(yīng)用程序,除非關(guān)閉.例如,msgbox對話框就是模式對話框.而非模式窗體則反之.2Show(顯示)方法 注意:如果調(diào)用show方法時指定的窗體沒有加載,VB會自動加載該窗
12、體. 實例四233. Cls方法 格式 : 窗體名. Cls 作用 : 清除運行時在窗體或圖形框中打印的文本或圖形。244. Move方法形式 : 窗體名.Move left,top,width,height 作用 : 移動窗體,并可改變其大小。 left,top,width,height分別用來表示窗體相對于屏幕左邊緣的水平坐標、相對于屏幕頂部的垂直坐標、窗體的新寬度和新高度。 第一個參數(shù)Left必選,其他參數(shù)可選。25 實例五: 使用Move方法移動一個窗體(Form1)。單擊窗體,窗體移動并定位在屏幕的左上角,同時窗體的長寬也縮小一倍。 為了實現(xiàn)這一功能,可以在窗體Forml的“代碼”窗
13、口中輸入下列代碼 Private Sub Form_Click() Form1.Move 0,0,Form1.Width/2,Form1.Height/2 End Sub26課堂練習(xí) 分析下列語句,判斷用戶每單擊一次窗體,窗體向哪個方向移動。Private sub form_click() move left-50,top+50End sub 注意:Move方法未指定對象,隱含指窗體。275. Print方法格式: 窗體名. Print p1p2 式中,p1,p2是輸出項;s是輸出項之間的分隔符,s可以是逗號或分號。用來輸出文本或表達式的值.;(分號):緊湊格式輸出。即數(shù)值輸出項輸出時尾部自動
14、加一空格,頭部加一個符號位(正數(shù)為空格);字符輸出項緊接前一項輸出。,(逗號):按制表列進行輸出,每個制表列寬度是14個西文字符,超過制表列寬度的輸出項可占據(jù)多個制表列。 無;,換行。28例:print 1;2;3;4 print 1,2,3,4 print 1;-2;-3;4 print “I”;”am”;”a”;”student”29在窗體Form1的單擊事件中有如下代碼:Private Sub Form_Click() a = 10: b = 3.14: c = 100 Print a=; a, b=; b Print a=; a, b=; b Print a=; a, b=; b Pr
15、int Print a=; a, b=; b End Sub閱讀下列代碼,分析屏幕的輸出結(jié)果:30 此外還有Refresh刷新方法, printform打印窗體方法.31三、窗體的事件 1、Click/DblClick:單擊/雙擊窗體觸發(fā)。2、initialize:初始化事件. 當(dāng)應(yīng)用程序創(chuàng)建窗體時,發(fā)生該事件. Initialize事件在Load事件之前發(fā)生. VB的窗體事件有很多,下面介紹常用事件.323、Load:裝載事件 在一個窗體被加載(也即裝入內(nèi)存)時發(fā)生,且發(fā)生在窗體出現(xiàn)在屏幕之前.其事件過程一般用于窗體的初始化設(shè)置.比如設(shè)置字體,字號.4、Unload事件 卸載窗體時觸發(fā)該事件
16、。當(dāng)單擊窗體上的”關(guān)閉”按鈕或使用Unload語句就可觸發(fā)該事件. 其事件過程一般用于在關(guān)閉窗體前,對文件所作的修改保存提示及相關(guān)的”善后”工作.33裝載窗體和Load事件使用裝載語句可把窗體載入內(nèi)存,但是并不顯示它,裝載語句格式如下: Load form1 Load object注意比較Load 和 show 的區(qū)別Load只是將對象裝入內(nèi)存(用戶看不到)Show不但將對象裝入內(nèi)存,而且顯示出來(用戶看得到)相同點:不論是load還是show都將自動的引發(fā)load事件。由于VB在執(zhí)行程序時會自動調(diào)用窗體,所以我們很少使用load語句,除非34卸載窗體和unload事件使用卸載語句可把窗體從內(nèi)
17、存中卸載,格式如下: unload form1 unload object注意比較unload和hide的區(qū)別:Unload對該對象的所用屬性恢復(fù)為設(shè)計狀態(tài)時所設(shè)定的初始值,并激發(fā)unload事件。Hide方法只是將該對象隱藏,該對象的所有屬性都不發(fā)上改變,該對象依然存在!舉例35365、Resize事件 當(dāng)?shù)谝淮物@示一個窗體或改變一個對象的大小時發(fā)生.當(dāng)窗體尺寸變化時,通過該事件過程可以調(diào)整窗體內(nèi)部控件的大小和位置.376、Activate與 deactivate 顯示多個窗體時,可以從一個窗體切換到另一個窗體.每次激活一個窗體時,發(fā)生Activate事件,而前一個窗體發(fā)生deactivat
18、e事件。 例38 注意:窗體對象格式比較特殊,其對應(yīng)的事件過程名稱為Form_事件名,不象其他控件對象,由對象名稱加事件名稱組成.例(99秋):窗體Form1的名稱屬性是frm,它的Load事件過程名是( )A:Form_LoadB:Form1_LoadC:Frm_LoadD:Me_LoadA39四、三個語句1、Load語句格式為: Load Object作用:把窗體載入內(nèi)存,但不顯示它。(例)2、Unload語句格式為:Unload Object作用:將窗體從內(nèi)存卸載。3、END語句格式為end作用:終止程序的運行,并從內(nèi)存中卸載所有窗體。40END語句END語句的功能是終止應(yīng)用程序的執(zhí)行,并從內(nèi)存卸載所有窗體。語法是: END Private Sub Form_Click() Unload Me Me是系統(tǒng)保留字,表示當(dāng) 前窗口 End SubPrivate Sub Form_Unload(Cancel As Integer) EndEnd Sub思考:unload 和 end的區(qū)別41 end語句與Unload的區(qū)別 End語句將終止程序的執(zhí)行,并從內(nèi)存卸載該程序中所有的窗體。而Unload只卸載一個窗體。 42窗體對象的總結(jié)Name caption Enabled visible屬性方法命令 事件 Show hide printLoad Unl
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 養(yǎng)殖肉牛項目可行性報告
- 互聯(lián)網(wǎng)立項報告
- 母嬰護理中級復(fù)習(xí)試題含答案
- 護理-婦產(chǎn)科護理學(xué)練習(xí)卷含答案
- 醫(yī)療機構(gòu)信息管理系統(tǒng)應(yīng)急預(yù)案
- 建筑結(jié)構(gòu)穩(wěn)定性分析報告書
- 主管護師內(nèi)科護理復(fù)習(xí)試題及答案
- 鄉(xiāng)村衛(wèi)生保健推廣方案
- 針對網(wǎng)絡(luò)安全問題的解決方案與實施計劃
- 用戶體驗優(yōu)化針對不同地區(qū)
- 駕照體檢表完整版本
- 基于人工智能的網(wǎng)絡(luò)故障診斷與修復(fù)
- 小手拉大手-城管送法進校園
- 防詐騙銀行知識講座
- 血站質(zhì)量管理和質(zhì)量控制
- 國企74個風(fēng)險點防控手冊
- DB41-T 2530-2023 水工閘門啟閉機及鋼絲繩檢查養(yǎng)護技術(shù)規(guī)程
- 集王羲之圣教序
- 醫(yī)療質(zhì)量管理手冊目錄【目錄】
- 學(xué)校心理健康師資隊伍建設(shè)方案
- 化工企業(yè)雙預(yù)防機制一企一冊范本
評論
0/150
提交評論