




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、2022/7/20什么是Visual Basic Visual Basic 可視化程序設計的開發環境。程序設計 使用程序設計語言完成軟件開發任務程序設計語言是人與計算機交流的工具,是由字、詞和語法規則構成的指令系統。2022/7/20程序設計語言程序設計語言 分類機器執行角度應用角度機器語言高級語言系統軟件科學計算數據庫管理圖形設計人工智能匯編語言2022/7/20程序設計(1)數據描述把被處理的信息描述成計算機可以接受的數據形式。(2)對數據的處理是指對數據進行輸入、輸出、計算、存儲等一系列的活動。程序設計任務主要完成兩方面工作:2022/7/20程序設計數據處理的目的是為了提取有用的數據成
2、分,獲得我們有用的資料。程序設計的工作成果稱為源程序。 高級語言源程序有兩種執行方式:編譯執行解釋執行2022/7/20VB 6.0的特點 VB6.0是目前最容易學習的面向對象的程序設計語言。VB6.0有非常完善的幫助系統。 VB6.0采用了面向對象的程序設計方法 。VB6.0采用了事件驅動機制 。針對VB6.0的對象提供了豐富的方法 。VB6.0有豐富的數據類型和函數采用結構化編程語言 。VB6.0提供了功能強大的Active控件和對象 。VB6.0是有力的Internet開發工具 。VB6.0有先進的數據技 。2022/7/20 例1.1第一個VB程序。設計一個窗體,在窗體上添加3個命令按
3、鈕。運行程序時,單擊“顯示”,在窗體上顯示“你單擊了“顯示”按鈕”。若單擊“變大”或“變小”按鈕,使窗體尺寸增加或減少,增加或減少的尺寸都為50Twip。 2022/7/20VB 6.0集成開發環境 2022/7/20標題欄 l 設計狀態:允許程序員設計應用程序用戶界面和編寫代碼。l 運行狀態:表示正在運行程序,此時不能設計應用程序用戶界面和編寫代碼。l 中斷狀態:運行的程序暫時停下來,還可以繼續運行程序,此時不能設計應用程序用戶界面,但可以編寫代碼。2022/7/20菜單欄 位于標題欄的下方,菜單欄中顯示“文件”、“編輯”、“視圖”、“工程”等13個菜單項,每個菜單項都有一個下拉菜單,在下拉
4、菜單中列出的各種執行命令。 2022/7/20工具欄 位于菜單欄的下方,工具欄中提供了部分用圖標表示的最常用菜單命令,當鼠標指針指向某個圖標,將顯示該圖標功能的簡要提示信息,單擊圖標即可執行相應命令。 2022/7/20工具箱 位于窗體窗口的左側有一個標準控件工具箱。每個控件用一個圖標表示。利用這些工具可以在窗體上設計各種控件。 2022/7/20窗體窗口 位于集成開發環境工作區的中間,窗體是程序員是設計圖形用戶界面的工作臺,各類控件對象必須建立在窗體上,用它創建應用程序的外觀,運行程序時窗體稱為窗口。 2022/7/20代碼窗口 位于集成開發環境工作區的中間,用它可編輯程序代碼。 2022/
5、7/20工程資源窗口 位于窗體窗口的右上部,它以樹狀顯示當前工程包含的所有文件。VB把一個應用程序稱為一個工程。一個工程至少包含一個工程文件(.Vbp)和一個窗體文件(.Frm)。l “查看代碼”按鈕:用于顯示或編輯代碼。l “查看對象”按鈕:用于顯示或編輯正在設計的窗體。l “切換文件夾”按鈕:用于切換工程清單的顯示方式。2022/7/20屬性窗口 2022/7/20窗體布局窗口 窗體布局窗口可調整程序運行時窗體顯示的位置。 2022/7/20控件的畫法 l 單擊工具箱中的控件按鈕,在窗體編輯區拖動鼠標畫出對應的控件。l 雙擊工具箱中的控件按鈕,即可自動在窗體中央畫出對應的控件,再拖動到適當
6、位置。按住Ctrl鍵,單擊工具箱中的控件按鈕,松開Ctrl鍵,在窗體編輯區拖動鼠標可畫出多個對應的控件。畫完之后單擊工具箱中的其他控件。 2022/7/20建立VB應用程序的一般方法 創建一個工程為窗體添加對象設置對象屬性編寫代碼 運行工程 調試工程 保存工程 2022/7/20可視化程序設計的概念 對象(Object) 對象的屬性(Properties) 對象事件(Event) 事件過程 方法 2022/7/20綜合運用 例1.2可移動的文字。 例1.3顯示系統當前時間。 2022/7/20VB的基本數據類型 “數據”是信息在計算機內的表現形式,也是程序的處理對象。 不同類型的數據有不同的操
7、作方式和不同的取值范圍。 VB具有系統定義的基本數據類型,而且允許用戶根據需要定義自己的數據類型。 VB提供的基本數據類型主要有: 字符串型、數值型、邏輯型和日期型。2022/7/20例2.1 AB 與 A * B。設計一個窗體,在窗體上添加一個命令按鈕。運行程序時,單擊“開始”,程序將要求輸入A和B,并在窗體顯示計算結果。(結果為什么存在問題) 2022/7/20字符串型 字符串(String)是一個字符序列,由放在一對雙引號中的ASCII字符(除雙引號和回車符之外)、漢字及其它可打印字符組成。例如:以下是合法的VB字符串,“Hello”“We are students.”“中華人民共和國”
8、“2+3=?”“2000”“ # ”“ ¥25,000.00 ”“” (空字符串)2022/7/20字符串型值得注意的是:字符串中包含的字符個數稱為字符串長度。在VB6.0中,把漢字作為一個字符處理。字符串分為變長字符串和定長字符串。長度為0(即不含任何字符的字符串)稱為空字符串。雙引號在程序代碼中起字符串的界定作用。在字符串中,字母的大小寫是有區別的。例如,字符串“ABC”與“abc”是兩個不相等的字符串。2022/7/20數值型VB的數值型數據分為整型數和實型數兩大類。2022/7/20整型 整型數是不帶小數點和指數符號的數。十進制整型數由 09 的數字序列組成,可以帶正號或負號。例如:1
9、47589565, -3145, 327009 等都是十進制整數。2022/7/20整型 整型數按示數范圍的不同分為整數、長整數和字節型整數。 整型數和長整數還可以有三種表示形式,即十進制、八進制和十六進制。2022/7/20整型2022/7/20實型 實型數是帶有小數部分的數,分為浮點數和定點數。 浮點數由三部分組成:符號、指數及尾數。2022/7/20邏輯型邏輯型數據(Boolean)以 2個字節(16 位)存儲。邏輯值邏輯真邏輯假True(-1)False(0)2022/7/20日期型 日期型(Date)數據存儲為 8 個字節(64 位)浮點數值形式。 可以表示的日期范圍從 100 年
10、1 月 1 日到 9999 年 12 月 31 日,時間可以從 0:00:00 到23:59:59。2022/7/20VB常量與變量 內部常量 用戶自定義常量根據VB數據類型,一般常量有整型常量、長整型常量、單精度型常量、雙精度型常量、字節型常量、字符串型常量、邏輯型常量和日期型常量。用戶自定義常量分一般常量和符號常量兩種形式。 2022/7/20Const語句的一般格式:Const 常量名 As 類型名=表達式 下面是正確的符號常量定義語句。Const pi=3.14159 定義pi是單精度符號常量,其值為3.14159Const max As Integer=70 定義max是整型符號常量
11、,其值為702022/7/20變量在程序中,其值可以改變的稱為變量。變量名是變量的標識。變量名的命名規則同常量名。變量具有名稱、類型和值三個屬性。VB有兩種類型變量:屬性變量和一般變量。 一般變量是由用戶自己定義的。定義變量常用Dim語句,格式如下:Dim 變量名1 AS 類型1 , 變量名2 As 類型2 例如:Dim chr1 As String2022/7/20算術運算符和算術表達式在VB中,算術運算符有:乘方號()、取負號(-)、乘號(*)、除號(/)、整除號()、求余運算符(Mod)、加號(+)和減號(-)。 Private Sub Command1_Click() Print 25
12、 5 * 5End Sub輸出結果為1。因為先計算乘法,再完成整除2525的運算。 2022/7/20字符串運算符和字符串表達式在VB中,字符串運算符有:加號(+)和字符串連接運算符號(&)。兩個運算符的作用相同,都是將兩個字符串連接成一個字符串。例如:“面向對象” & “程序設計” 結果仍是一個字符串:面向對象程序設計 “面向對象” + “程序設計” 結果仍是一個字符串:面向對象程序設計 2022/7/20關系運算符和關系表達式在VB中,關系運算符有:大于號()、小于號(=)、小于等于號(=)、等于號(=)和不等于號(或)。 關系表達式的一般格式:表達式 關系運算符 表達式 2022/7/2
13、0邏輯運算符和邏輯表達式在VB中,常用的邏輯運算符有:非(Not)、與(And)、或(Or)、異或(Xor)、等價(Eqv)和蘊含(Imp)。邏輯運算符,用來對兩個邏輯量進行運算,運算的結果是邏輯型的,結果值True表示真,False表示假。邏輯表達式的一般格式:表達式 邏輯運算符 表達式例如:A + B = C And X = Y是邏輯表達式,在求解該表達式時,先完成算數運算,再解決關系運算,最后進行邏輯運算。整個表達式的含義是,當A + B等于C并且X等于Y時,該表達式的結果為真。 2022/7/20VB常用內部函數 例2.2 飛機高度。設計一個窗體,在窗體上添加一個名為“計算”的命令按鈕
14、。運行程序時,單擊“計算”輸出雷達搜索到飛機的高度。設雷達在仰角300時發出電波,在B點碰到飛機,經過1/3000秒收到來自飛機的回波。電波的速度為3108米/秒,問飛機的高度。 2022/7/20常用數學函數常用數學函數主要包括三角函數、指數函數、對數函數、平方根函數、絕對值函數等,它們與數學上的定義一致。注意: 所有數學函數的自變量是數值型,計算結果也是數值型。 自變量可以是常數、變量或表達式,還可以是函數。 表中的三角函數自變量的單位為弧度。 Sgn(n)函數,當n 0返回1。Rnd(n)函數產生一個01之間的隨機雙精度數,包括0,但并不包括1。 2022/7/20常用轉換函數常用轉換函
15、數主要包括數值型數據與字符型數據之間的轉換,以及數值型數據之間的轉換。 常用Val函數把輸入的數字字符串轉換成數值,用Str函數把要輸出的數值轉換成字符串。運行下面程序,和例2.2結果相同。Option ExplicitPrivate Sub Command1_Click() Const Vg = 300000000# Const Pi = 3.1415 Dim OB, AB OB = Vg / 3000 / 2 AB = OB * Sin(30 * Pi / 180) Print 飛機的高度是: + Str(AB) + 米End Sub2022/7/20 Asc和Chr是一對互逆函數,Chr
16、只能計算一個字符串首字符的ASCII編碼,控制字符可以使用Chr函數輸入。運行下面程序,觀察結果(見圖2.6轉換函數)。Private Sub Command1_Click() Print Chr(Asc(A), Chr(Asc(ABC) Print Asc(A), Asc(ABC) Print Trim(Asc(A), Trim(Asc(ABC) Print 顯示在上一行 + Chr(13) + Chr(10) + 顯示在下一行End Sub2022/7/20常用字符串函數VB 6.0在字符存儲和處理中,采用了Unicode編碼。Unicode編碼將一個漢字和一個西文字符都視為一個字符,占用
17、兩個字節存儲。 Private Sub Command1_Click() str1 = 字符串函數與運算 str2 = Mid(str1, 4, 2) Print str2 N = InStr(str1, str2) Print N, InStr(str1, 字符子串) Print str1 + 的長度是 + Str(Len(str1) Print LCase(abCDef) + Space(3) + UCase(abCDef) Print String(10, ) Print 茶好吃, StrReverse(茶好吃)End Sub2022/7/20InputBox函數InputBox函數的返
18、回一個字符串。在調用InputBox函數時,系統將彈出一個對話框,該對話框能接收用戶輸入數據。InputBox函數一般格式如下: InputBox(提示信息,標題,確省值)Private Sub Command1_Click() Dim L L = Val(InputBox(長度(厘米), 輸入) Print 長度(厘米):; L Print 長度(Twip):; 567 * LEnd Sub2022/7/20窗體 窗體是程序員的“工作臺”,用以可視化地建立應用程序。 窗體是 VB 中一個重要的對象,它除了具有自己的屬性、方法外,還可放置除了窗體之外的其它控件。 VB 的窗體和控件是具有自己的
19、屬性、方法和事件的對象。屬性就是對象的性質,方法就是對象的動作,事件就是對象的響應。2022/7/20窗體屬性 窗體的屬性:決定了窗體的外觀和操作。 設置方法: 通過屬性窗口設置和通過程序代碼設置。2022/7/20窗體主要屬性Name(名稱)標識符,是程序代碼中使用的對象名。Caption(標題)字符型,設定或返回窗體標題欄中顯示的文本。BackColor(背景顏色)返回或設置背景顏色。ForeColor(前景顏色)返回或設定前景顏色。Height、Width(高、寬)數值型,返回或指定窗體的高度和寬度。Left、Top(左邊、頂邊位置)數值型,返回或確定窗體左上角的位置。2022/7/20
20、用不同的字體、字型和字號時在窗體顯示“航空英雄楊立偉”。例2.4航空英雄楊立偉。設計一個窗體,窗體的標題為“航空英雄楊立偉”,并為窗體加載一幅圖片。運行程序時,單擊窗體,用不同的字體、字型和字號時在窗體顯示“航空英雄楊立偉”。 2022/7/20窗體事件 Microsoft Windows 操作系統連續地監視每一個窗口的活動或事件的信號。 事件可通過單擊鼠標或按下按鍵等操作產生,也可通過程序控制產生,還可由另一個窗口的操作產生。2022/7/20窗體主要事件Click 事件用鼠標單擊某個對象就觸發了 Click 事件,調用相應的事件過程。DblClick 事件用鼠標雙擊某個對象就觸發了 Dbl
21、Click 事件,調用相應的事件過程。Load 事件Load 是把窗體裝入內存工作區時發生的事件。在缺省情況(AutoReDraw=False)下, Load 事件過程是不能在窗體中顯示輸出的。2022/7/20窗體主要事件Activate 事件Load 事件發生后,系統還會自動產生一個 Activate 事件。Activate 事件過程處理完成后,程序進入“等待事件”狀態,當某一事件發生,就對其過程進行處理,之后再等待下一事件發生。UnLoad 事件當用戶關閉窗體時,會發生一個 Unload 事件。Resize事件Resize事件是當程序運行后,窗體的大小被改變時觸發的事件。 2022/7/
22、20Print 方法格式:對象名. Print 表達式 ,| ;表達式 說明:(1) 對象名 可以是窗體、立即窗口、圖片框、打印機。(2) 表達式 可以是數值或字符串表達式。(3)當輸出多個表達式時用分隔符隔開。 逗號:分區格式輸出,以 14 個字符為一區; 分號或空格:緊湊格式輸出。(4)執行 Print 方法時,命令行的末尾有逗號或分號,則下一次 Print 方法在同一行接著打印,否則下次 Print 方法另起一行。窗體主要方法2022/7/20Cls 方法格式: . ClsCls 用于清除由Print方法顯示的文本或在圖片框中顯示的圖形,并把光標移到對象的左上角(0,0)。窗體主要方法2
23、022/7/20Move 方法格式:對象名. Move 左邊距 , 上邊距 , 寬度 , 高度 Move方法可在程序中移動窗體和控件,并可以改變其大小。窗體主要方法2022/7/20綜合運用 例2.5可擴大的窗體。設計一個窗體,窗體的標題為“可擴大的窗體”,在界面設計時為窗體加載一幅任意圖形。運行程序時,單擊窗體使窗體的長和寬都擴大原來的1.1倍,并使窗體居中顯示。 例2.6變色窗體。設計一個窗體,窗體的標題為“變色窗體”。運行程序時,單擊窗體,使窗體變成綠色,并使窗體向下和向右都移動100Twip,同時在窗體輸出窗體的位置。單擊窗體的關閉按鈕,使窗體變成紅色,同時在窗體的標題輸出系統時間。
24、2022/7/20順序結構程序設計 在事件驅動機制中,由用戶激發的某個事件去執行相應的事件過程。這些事件處理過程之間并無特定的執行順序,但每個事件過程內部卻包含著三種結構。在順序結構中,語句將按照出現的順序逐條執行。 2022/7/20例3.1 簡單電路。R110歐,R220歐,R330歐,電源電壓恒定不變,若開關S1閉合,S2斷開時,電流表的讀數是0.3A,求(1)電源電壓多大?(2)當S1和S2都斷開時,電流表的讀數多大?(3)當S1、S2都閉合時,電流表的讀數是多大? 2022/7/20變量名 = 表達式或: 對象名. 屬性名 = 表達式賦值語句的含義是: (1)計算賦值號右邊表達式的值
25、; (2)將此值賦給賦值號左邊的標識符代表的變量或控件屬性,作為它的當前值; (3)該值一直保存到下一次再對它賦值為止。賦值語句基本含義2022/7/20賦值相容 賦值語句中的標識符代表一個存儲單元。 執行賦值語句時,如果這個存儲單元的結構和大小能夠正確地表示賦值號右邊的表達式的值,那么,就稱該賦值語句是賦值相容的。2022/7/20數值型與字符串型 1.如果字符串的形式表示數值,則可將字符串賦予數值變量。也可將數值賦予字符串變量。 2.如果把非數值形式的字符串賦給數值變量,則會出現運行錯誤。 3.把一個整數賦給一個實變量,將不會出什么錯; 4.當把一個長整數賦給一個單精度變量,就可能會受示數
26、精度的影響。2022/7/20注釋語句格式: 注釋內容 撇號說明: 1. 此語句僅起注釋作用,不被解釋和編譯。 2. 任何字符(包括漢字)都可以作為注釋內容。 3. 此語句可放在過程、模塊的開頭,也可放在執行語句的后面,但必須是一行中的最后一個語句。2022/7/20暫停語句格式: Stop說明: 1. 可放在過程中的任何地方,用來暫停程序執行,相當于設置斷點。 2. 類似于 Run 菜單中的 Break 命令,系統將自動打開立即窗口(Debug),方便程序員調試跟蹤程序。 3. 調試完畢,生成可執行文件之前,應刪去所有的Stop 語句。2022/7/20結束語句格式: End說明: 1. 通
27、常用來結束程序的執行。 2. 程序沒有 End 語句,或雖然有,但沒執行,運行沒有影響,但不能正常結束。 3. 為了保持完整性,程序應該通過 End 語句結束執行。 4. 其它用途: End Sub 結束一個 Sub 過程 End Function 結束一個 Function 過程 End If 結束一個 If 語句塊 End Type 結束記錄類型定義 End Select 結束情況語句2022/7/20命令按鈕 (CommandButton)控件 命令按鈕是最常使用的控件之一。命令按鈕最多設置的屬性是Caption,一般使用屬性窗口設置該屬性,以便修改命令按鈕的標題。命令按鈕最常使用的事件
28、是Click。 2022/7/20命令按鈕屬性(1)(名稱)在程序中它是識別命令按鈕的標識符。窗體中第一個建立的命令缺省名稱是Command1,后續的命令按鈕缺省名稱分別是Command2、Command3等。名稱屬性為只讀屬性。只讀屬性的含義是,這樣的屬性只允許在界面設計時修改,在程序中不能修改這樣的屬性。(2)Caption屬性Caption屬性是字符串類型,是顯示在命令按鈕上的標題。即可以在界面設計時通過屬性窗口修改,也可以使用代碼設置。 2022/7/20(3)Default屬性Default屬性是布爾類型,當命令按鈕的Default屬性設置為True時,按回車鍵等效于用鼠標單擊該按鈕
29、。一個窗體只能有一個命令按鈕的Default屬性設置為True。命令按鈕的Default屬性缺省值為False。(4)Cancel屬性Cancel屬性是布爾類型,當命令按鈕的Cancel屬性設置為True時,按Esc鍵等效于用鼠標單擊該按鈕。一個窗體只能有一個命令按鈕的Cancel屬性設置為True。命令按鈕的Cancel屬性缺省值為False。 2022/7/20(5)Style屬性和Picture屬性Style屬性決定命令按鈕的外觀,只能取0或1。當此屬性設置為0時,表示標準命令按鈕,該按鈕只能顯示文字,并且不能改變背景顏色和前景顏色,更不能顯示圖標。當此屬性設置為1時,表示圖形命令按鈕,
30、圖形即能顯示文字,能改變背景顏色和前景顏色,也能顯示圖標。命令按鈕的Picture屬性同窗體的Picture屬性,用來顯示圖形。(6)ToolTipText屬性ToolTipText屬性是字符串類型,用于設置命令按鈕的提示信息,運行程序過程中,若鼠標指向命令按鈕并停留時,顯示命令按鈕ToolTipText的字符串。2022/7/20(8)Enabled屬性Enabled屬性是布爾類型,用于設置命令按鈕是否可以操作,運行程序時,若命令按鈕的Enabled屬性設置為False,命令按鈕呈灰色,此時命令按鈕禁止操作。當命令按鈕的Enabled屬性設置為True時,允許用戶操作命令按鈕。(9)Visi
31、ble屬性Visible屬性是布爾類型,用于設置命令按鈕是否可見。(10)其它屬性 命令按鈕也有和大小、位置有關的屬性,有Height、Left、Top和Width。不同的是,窗體的Left和Top是相對于屏幕,命令按鈕的Left和Top是相對于窗體。另外,命令按鈕能夠輸出文字,因此有與Font相關的屬性。 2022/7/20例3.2老師和學生。設計一個窗體,在窗體上添加兩個命令按鈕。運行程序時,“老師”可以操作,“學生”不能操作,單擊“老師”按鈕后“老師”不能操作,“學生”可以操作。單擊“學生”后,命令按鈕狀態恢復成原始狀態。用鼠標指向命令按鈕并停留時,顯示提示信息。2022/7/20命令按
32、鈕事件命令按鈕它是用戶與程序交互的最簡便的方法。命令按鈕除最常使用的Click事件。命令按鈕常用到的事件有:Mouse Down事件、MouseUp事件、MouseMove 事件等。Mouse Down事件 2022/7/20例3.3事件順序。設計一個窗體,在窗體上添加一個命令按鈕。并編寫命令按鈕被壓下、單擊和抬起的事件過程,在事件過程中輸出命令按鈕的狀態。要求命令按鈕被壓下和正常狀態分別顯示不同圖形。 2022/7/20標簽控件標簽控件(Label)也稱標簽或標簽框,是最常使用的控件之一,常用于輸出文本,顯示提示信息,用標簽控件輸出的文本、提示信息不能編輯、修改。所以標簽控件常用來輸出標題、
33、顯示處理結果或標識那些不帶Caption屬性的控件,如下面講的TextBox控件。 2022/7/20標簽控件屬性(1)(名稱)屬性在界面設計時,用Name屬性設置標簽控件的名稱。隨著標簽控件的建立,系統賦給標簽控件的隱含名稱為Label1、Label2等,在隱含名稱中Label永遠保持不變,變化的是后邊的序號,能表示出是第幾個添加的標簽控件。在程序中對控件的操作,都是通過名稱來識別對象。(2)Caption屬性Caption屬性是字符串類型,用于設置該標簽控件的標題。該屬性值就是標簽控件要顯示的內容,它既可以在屬性窗口中設定,也可用代碼改變控件顯示的內容。 2022/7/20(3)Align
34、ment屬性數值型,用于設置標題的對齊方式,可設置為0、1和2,其作用分別是: 左對齊、 右對齊和 中間對齊。(4)AutoSize屬性AutoSize屬性是布爾類型,標簽的大小是否隨標題內容的大小自動調整。當該屬性設置為True時,標簽的大小隨標題內容自動調整,使標簽的大小正好適應標題,且不換行。當該屬性設置為False時,標簽的大小不隨標題內容自動調整,標題超過標簽尺寸的部分不能顯示。確省值為False。2022/7/20(5)BorderStyle屬性數值型,用于設置邊框的樣式,只能取0或1,其作用如下:0標簽無邊界線,確省值。1標簽有邊界線。(6)BackStyle屬性數值型,用于設置
35、背景的樣式,只能取0或1,其作用如下:0透明顯示,確省值。1不透明顯示。2022/7/20文本框 (TextBox)控件 文本框屬性(1)Text屬性Text屬性是字符串類型,用于設置文本框中顯示的文字。該屬性值是文本框要顯示的內容,它既可以在屬性窗口中設定,也可用代碼改變控件顯示的內容。(2)PasswordChar屬性PasswordChar屬性是字符串類型,用于設置文本框中顯示的字符,常用于口令輸入。 2022/7/20(3)Multiline屬性Multiline屬性是布爾類型,用于設置文本框中是否可以輸入多行文本。缺省值是False,此時文本框中只能輸入一行文本。當設置該屬性為Tru
36、e時,文本框可以輸入多行文本。當該屬性設置為False時,PasswordChar屬性才能發揮作用。(4)ScrollBars屬性 ScrollBars屬性是數值型,用于設置文本框中是否有滾動條,什么樣的滾動條。可取值0、1、2、3,缺省值是0。 2022/7/20文本框事件和方法文本框支持Click和DblClick事件,常用的事件還有:(1)Change事件在文本框中輸入信息或在程序中改變Text屬性值時,都會觸發該事件。(2)LostFocus事件按下Tab鍵或用鼠標單擊其它對象使焦點離開該文本框時,觸發該事件。(3)KeyPree事件當文本框具有焦點時,按下任意鍵,都會觸發該事件。通常
37、可用該事件檢查輸入的字符。 2022/7/20TextBox控件常用的方法有:SetFocus方法,其作用是把焦點設置到指定的對象,如:Text1. SetFocus將使當前窗體中的文本框text1能夠接收鍵盤輸入的字符。2022/7/20綜合運用 例3.6字符和ASCII例3.7相對運動一平板車,質量M=100千克,停在水平路面上。車身的平板離地面的高度h=1.25米,一質量m=50千克的小物塊置于車的平板上,它到車尾端的距離b=1.00米,與車板間的滑動摩擦系數u=0.20,如圖所示。今對平板車施一水平方向的恒力,使車向前行駛,結果物塊從車板上滑落。物塊剛離開車板的時刻,車向前行駛的距離S
38、0=2.0米。求物塊落地時,落地點到車尾的水平距離S。不計路面與平板車間以及輪軸之間的摩擦,取g=9.8米/秒2。 2022/7/20認識選擇控件和分支程序設計 例4.1設置字體。 運行程序時,先選擇字體、字形、字體顏色和效果,再單擊“確定”,程序將按照選擇設置標題為“程序設計”的標簽框。 2022/7/20分支程序設計 行If結構行If結構要求把判斷結構寫在一行。行If結構有如下兩種形式:單分支的行If結構,格式如下:If 邏輯表達式 Then 語句組1雙分支的行If結構,格式如下: If 邏輯表達式 Then 語句組1 Else 語句組2 演示2022/7/20邏輯表達式語句組1語句組2邏
39、輯表達式語句組1演示2022/7/20例4.2找最小數。設計一個窗體,在窗體上添加四個標簽、四個文本框和兩個命令按鈕。運行程序時,先在輸入要比較的三個數,再單擊“確定”,程序將找出三個數中最小的數,并把計算結果顯示在最小數文本框中。 2022/7/20塊If結構 單分支的塊If結構,格式如下:If 邏輯表達式 Then 語句序列End If雙分支的塊IF結構,格式如下:If 邏輯表達式 Then 語句序列1Else 語句序列2End If2022/7/20多分支的塊IF結構,格式如下:If 邏輯表達式1 Then 語句序列1ElseIf 邏輯表達式2 Then 語句序列2ElseIf邏輯表達式
40、n Then 語句序列nElse 語句序列n+1End If2022/7/20塊If結構的嵌套 上邊介紹了塊If結構的基本形式,在實際使用中常需要復雜的多重選擇,用一個塊If結構是不行的,必須用嵌套的塊If結構。所謂嵌套的塊If結構,指在一個塊If結構中,又包含另一個塊If結構。 2022/7/20例4.3判斷三角形。設計一個窗體,在窗體上添加五個標簽、三個文本框和兩個命令按鈕。運行程序時,先在輸入文本框中輸入邊長,再單擊“判斷”,程序將判斷是否能構成三角形及其具體的形狀:銳角,直角,鈍角,并把計算結果顯示在結論標簽框中。 2022/7/20多分支結構 有時程序可能有多種選擇,可以使用多分支結
41、構。多分支結構以多分支語句Select Case開頭,以End Select結束,Select Case語句也稱情況語句,它適用于描述較多分支。使用該結構會使程序簡潔,多分支結構的格式為:Select Case 測試表達式 Case 表達式列表1 語句序列1 Case 表達式列表2 語句序列2 Case 表達式列表n 語句序列n Case Else 語句序列n+1 End Select 2022/7/20例4.4成績評定。設計一個窗體,在窗體上添加兩個標簽、兩個文本框和兩個命令按鈕。運行程序時,先在輸入文本框中輸入一個百分制的成績,再單擊“計算”,程序將計算出結論,并把結論顯示在文本框中。成績
42、大于等于90結論為“優秀”,成績在80到90(含80、不含90)結論為“良好”,成績在60到80(含60、不含80)結論為“及格”, 60以下結論為“不及格”。若單擊“結束”按鈕,結束程序運行。 2022/7/20單選按鈕 (OptionButton)控件 單選按鈕外觀是一個圓圈。運行程序時,若單擊單選按鈕,則圓圈中間會出現一個黑色的圓點,表示該項被選擇。一組單選按鈕只能有一個被選擇。 2022/7/20單選按鈕的屬性(1)Value屬性Value屬性標志單選按鈕是否被選擇,若單選按鈕被選擇,則它的Value屬性值為True,未被選擇其值為False(缺省值)。(2)Caption屬性單選按鈕
43、的標題,是字符串類型。(3)名稱和其他屬性 2022/7/20單選按鈕的事件單選按鈕控件支持Click事件。運行程序時單擊單選按鈕,便觸發Click事件,若存在該按鈕的事件過程,將執行此事件過程。通常不編寫這樣的事件過程。 2022/7/20復選按鈕 (CheckBox)控件 復選按鈕也稱檢查框,該控件可用來提供多選擇,用戶可以從中選擇一個或多個,還可以一個也不選擇。復選按鈕外觀是一個小方框,若單擊某一個復選按鈕,則在小方框中間將出現“”符號標記,表示該項被選擇。若再次單擊被選擇的復選按鈕,則取消對該復選按鈕的選擇。 2022/7/20復選按鈕的屬性(1)Value屬性復選按鈕Value屬性是
44、數值型,其值為0表示未被選擇,其值為1表示被選擇,其值為2表示禁止用戶選擇,此時復選按鈕為灰色,0是缺省值。(2)Caption屬性復選按鈕的標題,是字符串類型。(3)名稱和其他屬性 2022/7/20框架 (Frame)控件 框架控件主要用于創建多個單選按鈕或復選按鈕組。在操作一個框架內的單選按鈕時,不會影響該框架外的單選按鈕。框架是一個控件的容器,當框架設置為不能操作或不可見時,框架中的控件也變得不能操作或不可見。 2022/7/20框架控件的屬性(1)Caption屬性框架控件的標題,是字符串類型。 (2)名稱和其他屬性 2022/7/20框架控件的事件框架控件支持Click事件,通常不
45、編寫這樣的事件過程。在界面設計時,要先建立框架,然后在框架內畫上其他控件。不要把框架外的控件拖動到框架內,這樣的控件不屬于該框架的。 2022/7/20列表框和組合框 例4.5旅游信息查詢。設計一個窗體,在窗體上添加一個組合框、一個列表框、兩個標簽和一個命令按鈕。運行程序時,用戶可從請選擇目的地中選擇地名,在旅游信息列表中將出現旅游景區。 2022/7/20列表框屬性(1)Text屬性返回列表框被選擇的列表項目,是字符串類型。在列表框中該屬性為只讀屬性,界面設計階段不能修改。(2)ListIndex屬性設置或返回列表框被選擇的列表項的序號,是整型。在列表框中第一個列表項序號為0,第二個列表項序
46、號為1,最后一個列表項目序號為Listcount-1。(3)Listcount屬性 返回列表框列表項的個數,是整型。 2022/7/20(4)List屬性字符串數組,每個元素都是列表框的一個列表項內容。在界面設計時,利用List屬性可以輸入列表項目,在代碼中可以引用該數組。(5)Sorted屬性確定列表項是否按升序排列,是邏輯型,通過屬性窗口設置。設置為True表示按升序排列列表項目,否則按增加先后次序排列。(6)Sorted屬性確定列表項是否按升序排列,是邏輯型,通過屬性窗口設置。設置為True表示按升序排列列表項目,否則按增加先后次序排列。 2022/7/20(7)MultiSelect屬
47、性確定是否一次可選擇多個列表項,是整型,通過屬性窗口設置。可取值0、1和2,0表示每次只能選擇一項;1表示簡單多項選擇,一次可以選擇多項;2表示擴展多項選擇,按下Ctrl或Shift鍵+鼠標單擊,一次可以選擇多項。(8)Selected屬性在支持多項選擇中,判斷被選擇的列表項。是邏輯型數組,在設計階段不可用,當數組元素為True時,表示該項被選擇,為False時,表示該項未被選擇。(9)名稱和其他屬性2022/7/20列表框的事件和方法1列表框的事件列表框控接收Click事件、DblClick事件和LostFocus等事件,但大多數程序編寫DblClick事件過程。2. 列表框的方法列表框可以
48、使用的方法有AddItem、RemoveItem和Clear。利用它們可以在程序運行期間修改列表框的內容。 2022/7/20組合框是具有文本框控件與列表框控件特性的控件。組合框系統的隱含名稱為Combo1、Combo2等。 2022/7/20組合框屬性(1)Style屬性當Style設置為0時(默認樣式),是下拉式組合框。單擊右側的箭頭時打開選項列表,可從打開的列表中選擇列表項目,選擇的列表項目將顯示在文本框中。也可直接在文本框中輸入文本,在DropDown等事件過程中把文本框內容增加到組合框中。當Style設置為1時,是簡單組合框。這時文本框右側無箭頭按鈕,它看起來象一個文本框和一個標準列
49、表框的結合,列表項始終顯示在列表框中。可以從列表中選擇項,也可以直接在文本框中輸入文本。 當Style設置為2時,是下拉式列表框,它與下拉式組合框相似。單擊右側的箭頭時打開選項列表,可從打開的列表中選擇列表項目,選擇的列表項目將顯示在文本框中;通過輸入可以快速選擇文本。與下拉式組合框不同的是:它不能在文本框中輸入新的內容。 2022/7/20(2)Text屬性返回列表框被選擇的列表項目,是字符串類型。在Style為0或1時可以鍵入文本。 組合框的(名稱)屬性系統隱含為Combo1,Combo2等。在列表框中的屬性同樣適于組合框。 2022/7/20組合的事件和方法組合框的Style取值不同,能
50、響應的事件也有差異,只有簡單組合框能響應DblClick事件,下拉式組合框和下拉式列表框能響應DropDown,所有組合框都能響應Click事件。在列表框中可以使用的方法同樣適于組合框。 2022/7/20MsgBox函數和MsgBox語句 MsgBox函數的一般格式如下: MsgBox(內容,類型,標題,幫助文件,主題編號) 例4.6 確認刪除列表項。設計一個窗體,在窗體上添加一個列表框和兩個命令按鈕。運行程序時,先選擇要刪除的列表項,單擊“刪除”按鈕,彈出含有詢問對話框,根據用戶的不同選擇進行不同處理。 2022/7/20MsgBox語句MsgBox的語句格式如下。 MsgBox 內容,類
51、型,標題,幫助文件,主題編號 在程序中MsgBox語句不能提供返回值,一般只用來嶄停一下程序。 2022/7/20綜合運用 例4.7選課。設計一個窗體,在窗體上添加五個標簽框、四個組合框、一個文本框和兩個命令按鈕。運行程序時,先選擇課程、教師和學分并輸入姓名,單擊“登記”按鈕,彈出對話框,根據用戶的不同選擇進行登記或放棄登記。 例4.8歌詠比賽。設計一個窗體,在窗體上添加在窗體上添加一個標簽、兩個文本框、三個命令按鈕和兩個框架。兩個框架內分別畫上單選按鈕和復選按鈕。運行程序時,輸入歌手姓名、選擇性別和參賽項目后,單擊“登記”將在文本框登記一行,單擊“下一個”清除輸入的姓名和選擇,為輸入下一個準
52、備,每次登記信息占一行,單擊“退出”按鈕,結束程序運行。 2022/7/20認識圖片框和循環程序設計 “例5.1正弦曲線。設計一個窗體,在窗體上添加一個圖片框和四個命令按鈕。運行程序時,單擊繪制曲線、繪制坐標、輸出標記,可分別在圖片框中繪制正弦曲線、坐標系和標記。 2022/7/20繪圖方法 坐標系在VB中,窗體和圖片框都有確省的坐標系。確省的坐標系規定坐標的原點在窗體和圖片框可用空間的左上角,向下為Y方向,向右為X方向,單位是Twip。1440個Twip為1英寸。使用這樣的坐標系繪圖非常困難,用戶可用Scale方法設置自己的坐標系。Scale方法的一般格式:對象名. Scale(x1,y1)
53、-(x2,y2) 2022/7/20PSet方法畫點用PSet方法可以在窗體或圖片框上繪制一個點。PSet方法的一般格式: 對象名. PSet(x,y),顏色 2022/7/20Line方法 用Line方法可以在窗體或圖片框上繪制一條直線或繪制一個矩形。Line方法的一般格式:對象名. Line (x1,y1)- (x2,y2) ,顏色 ,BF其中,(x1,y1)為始點坐標;(x2,y2)為終點坐標;顏色可以使用RGB函數,規定畫線或畫矩形的顏色。關鍵字B表示畫矩形或填充矩形。當FillStyle屬性為1時,表示畫空心矩形。FillStyle屬性可取值0到7,除FillStyle屬性為1外,都
54、為畫填充矩形,此時由FillStyle屬性決定填充圖案,由FillColor屬性決定填充顏色。 2022/7/20 Circle方法用Line方法可以在窗體或圖片框上繪制一條直線或繪制一個矩形。用Circle方法可以在窗體或圖片框上繪制圓、圓弧、扇形或橢圓。Circle方法的一般格式是:對象名. Circle (x,y),半徑 ,顏色 , 起始角 , 終止角 , 長短軸比率其中,(x,y)為圓心坐標;顏色可以使用RGB函數;起始角和終止角應使用弧度,值在02時繪制圓弧,取負值時繪制扇形;使用長短軸比率可用繪制橢圓。 2022/7/20循環結構 循環結構用來描述有規律地重復執行某一程序段。VB
55、6.0支持循環結構的語句有for、和do等語句,使用循環控制結構編程可以簡化程序,提高效率。 ForNext結構 ForNext結構在程序中可以實現固定次數的循環。ForNext結構的格式如下:For 循環變量 = 初值 To 終值 Step 步長 循環體 Exit ForNext 循環變量 2022/7/20例5.2連乘之積。設計一個窗體,在窗體上添加兩個命令按鈕。運行程序時,單擊“計算”,程序將彈出輸入對話框,要求輸入數據,輸入5個數之后,將在窗體輸出5個數之積。 2022/7/20 DoLoop結構 Do WhileLoop形式 Do While 邏輯表達式 循環體 Exit Do Lo
56、op Do UntilLoop形式 Do Until 邏輯表達式 循環體 Exit Do Loop2022/7/20Do Loop While形式 Do 循環體 Exit Do Loop While 邏輯表達式 Do Loop Until形式 Do 循環體 Exit Do Loop Until 邏輯表達式 2022/7/20循環的嵌套 在一個循環結構的循環體內含有另一個循環結構,這就形成了嵌套循環,又叫做多重循環。判斷正誤Do While b1 For j=k1 To k2LoopNext jDo For j=k1 To k2 Next jLoop While b1Do For j=k1 To
57、 k2 Next jLoop While b12022/7/20圖片框和圖像框 圖片框和圖像框都能加載圖像文件。圖片框功能更強,它不僅可以顯示圖像,還可以用繪圖方法繪制圖形、用Print方法顯示文本,圖片框也能作為其他控件的容器。可加載到這兩個控件上的圖像文件擴展名是:.Bmp 、.Dib、Ico、.Cur、. Emf、.Wmf或. Gif。2022/7/20圖片框和圖像框的屬性(1)Picture屬性設置圖片框和圖像框要顯示的圖形。可在設計階段加載圖像文件,也可以在程序運行時加載圖像文件。(2)AutoSize屬性設置圖片框是否能自動改變大小以適應圖形,該屬性是邏輯型。當取值True時,圖片
58、框隨著圖形實際大小自動調整尺寸以適應圖形的尺寸;若取值False時, 圖片框不能改變大小,此時若圖片框小于圖形尺寸,圖形被裁剪。圖片框的AutoSize屬性缺省為False。 2022/7/20(3)Stretch屬性設置能否自動改變圖形的大小以適應圖像框,該屬性是邏輯型。若取值True時, 圖像框不能改變大小,此時圖形被壓縮或拉伸以適應圖像框;當取值False時,圖像框隨著圖形實際大小自動調整尺寸以適應圖形的尺寸。圖像框的Stretch屬性缺省為False。(4)名稱和其他屬性2022/7/20在代碼中加載圖形要使用LoadPicture函數。把LoadPicture函數值賦給圖片框或圖像框
59、的Picture屬性,便可實現在圖片框或圖像框中顯示圖形。一般使用的格式為:對象名.Picture=LoadPicture(圖形文件名)2022/7/20例隨手畫。本程序演示MouseMove事件過程的用法,在Picture1中隨手畫在Picture1中壓下鼠標左鍵并拖動鼠標可繪制圖形2022/7/20 圖片框和圖像框事件和方法圖片框和圖像框都支持Click和DblClick事件,但很少對它們編程。另外圖片框和窗體一樣支持MouseMove、MouseDown、MouseUp等事件。圖片框常用方法在本章第2節介紹了PSet方法、Line方法、Circle方法。這里主要介紹Cls方法和Print
60、方法Cls方法用于清除圖片框中顯示的文字信息或用繪圖方法繪制的圖形。Print方法用于在圖片框中顯示的文字信息。和在窗體使用這兩個方法完全相同。Cls方法的一般格式是:對象名. Cls2022/7/20其他圖形控件在VB除圖像框和圖片框控件是專門處理圖形的控件外,還有畫線控件和形狀控件,使用這兩個控件可以非常方便地構造幾何圖形,一般不需要編程。1、 Line畫線控件Line控件可以用來畫線。畫線操作的步驟如下:2、 Shape形狀控件Shape控件可以用來畫矩形、正方形、橢圓、圓、圓角矩形和圓角正方形。通過Shape屬性可確定所需要的幾何形狀。Shape控件的Shape屬性取值0到5,其形狀分
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 續簽勞動合同的要素
- 新材料在生物芯片制備中的應用研究考核試卷
- 腳本創作勞務合同
- 紡紗工藝對環境的影響評價考核試卷
- 模具制造工藝參數優化考核試卷
- 生活服務行業互聯網平臺社會影響力分析考核試卷
- 振動控制技術及其在工程中的應用考核試卷
- 無線網絡連接速度優化考核試卷
- 肉制品加工產品多樣化與品質提升策略考核試卷
- 2025年卓雅學校九年級語文3月模擬練習試卷附答案解析
- 2025地質勘察合同范本
- 2025年時政政治試題庫及答案
- 抗帕金森病試題及答案
- 事故隱患內部舉報獎勵制度
- GB/T 26651-2011耐磨鋼鑄件
- ISO9001注冊審核員專業劃分小類
- 五年級道德與法治上冊課件 -保家衛國 獨立自主 部編版 (共48張PPT)
- 安徽省歷年中考數學試卷,2014-2021年安徽中考數學近八年真題匯總(含答案解析)
- 利益沖突申報表
- 項目工作周報模板
- GB4789.2-2022食品安全國家標準 食品微生物學檢驗 菌落總數測定
評論
0/150
提交評論