[VB程序設計][總結]
《[VB程序設計][總結]》由會員分享,可在線閱讀,更多相關《[VB程序設計][總結](21頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、真誠為您提供優(yōu)質參考資料,若有不當之處,請指正。 第1章 Visual Basic程序設計概述 1.1 Visual basic 簡介 Visual Basic的特點 有基于對象的可視化設計工具;事件驅動的編程機制;提供應用程序集成開發(fā)環(huán)境;支持結構化程序設計語言;強大的網(wǎng)絡、數(shù)據(jù)庫、多媒體功能;完備的幫助功能 VB中字符以Unicode碼存放,每個漢字和英文是一個字符、占有兩個字節(jié),漢字的機內碼最高位為1其碼值為小于0(以補碼表示),西文字符的最高位為0,其碼值為大于0 Ex:設計一個滾動文字的廣告程序, 一行文字在具有背景圖案的窗體上,下移動. 設計思路: 在窗體上使用標簽
2、Label對象來存放文字;利用Timer控件來快速觸發(fā)移動;利用單擊按鈕來手動觸發(fā)移動;改變標簽的左上角坐標(left, top表示)就可移動標簽 Label1.Top=Label1.Top+50: 使標簽Label1向下移動50單位 Interval=200: 時鐘對象的Interval可指定時間間隔, 1秒為1000單位. 每隔0.2秒移動一次可設置I have a courseware 1.2 VB集成開發(fā)環(huán)境 三種工作模式 設計模式(界面設計和代碼編制);運行模式(運行程序);中斷模式(中斷運行,調試程序) 工程的組成 窗體文件(控件和屬性設置,事件代碼);模塊
3、文件 窗體設計窗口 窗體是VB應用程序的主要部分;一個應用程序至少有一個窗體窗口;每個窗體必須有一個唯一的窗體名(默認名為Form1);設計狀態(tài)的窗體由網(wǎng)格點構成;網(wǎng)格點間距可以通過工具-選項-通用進入窗體網(wǎng)格設置;運行時可通過屬性控制窗體的可見性 代碼設計窗口 用來進行代碼設計(各種事件過程、過程代碼的編寫修改);打開代碼設計窗口(雙擊窗體/控件資源管理器窗口-查看代碼) 屬性窗口 設置窗體或控件的屬性,如顏色、字體、大小等 工程管理器窗口 保存一個應用程序所有屬性以及組成這個應用程序所有的文件;工程文件的擴展名為.VBP,工程文件名顯示在工程文件窗口的標題框內 工具箱
4、窗口 由21個被繪制成按鈕形式的圖標構成;其中20個控件稱為標準控件(指針不是控件) 也可通過工程-部件命令將第3方開發(fā)的其他控件裝入到工具箱 1.3 創(chuàng)建應用程序的過程 創(chuàng)建應用程序的過程 建立用戶界面的對象-對象屬性的設置-對象事件過程及編程-保存和運行程序 第2章 VB可視化編程基礎 2.1 VB對象概念 對象:指現(xiàn)實世界中的實體 類:是對同一種對象的集合與抽象,類的內部實現(xiàn)細節(jié)對用戶來說是透明的 對象:類的一個實例 封裝和隱藏:將數(shù)據(jù)結構和對數(shù)據(jù)的操作封裝在一起 VB工具箱中的可視圖標 通過將VB系統(tǒng)設計好的標準控件類實例化,得到真正的控件對象(在窗體
5、上畫一個控件,類就轉換為對象,創(chuàng)建了一個控件對象) 對象的三要素:屬性、事件和方法構成 屬性: 存放對象的數(shù)據(jù)(決定對象外觀及功能) 設計階段(利用屬性窗口直接設置屬性值)-程序運行(語句對象名.屬性名=屬性值) (只能在設計階段設置,在運行階段不可改變的屬性稱為只讀屬性) 事件:發(fā)生在對象上的事情(同一事件,對不同的對象,會引發(fā)不同的反應) 格式:(代碼窗口自動產(chǎn)生事件過程的模板,不要修改模板內容,只需鍵入過程代碼) Sub 對象名_事件(參數(shù)) … 事件過程代碼 End Sub 事件驅動程序設計方式:程序執(zhí)行的次序與程序設計者無關,取決于用戶的操作 VB程
6、序的執(zhí)行步驟 啟動應用程序,裝載和顯示窗體-窗體(或窗體上的控件)等待事件的發(fā)生-事件發(fā)生時執(zhí)行對應的事件過程-再次等待 方法: 面向對象的程序語言為設計人員提供的一種特殊的過程和函數(shù);調用時一定要指明對象 格式: [對象.]方法 [參數(shù)名表](省略對象表示當前對象,一般指窗體) Ex:Text1.SetFocus:此語句使Text1控件獲得焦點,光標在本文框內閃爍 2.2 窗體和基本控件 窗體和控件具有基本屬性 Name:名稱屬性-所創(chuàng)建的對象名稱 Caption:標題屬性-對象上顯示的內容 Height,Width,Top,Left:決定對象的高度、寬度,和位置
7、 Enabled:對象是否允許操作 Visible:對象是否可見 Font:文本的外觀屬性組 21 / 21 FontName:字體 FontSize:大小 FontBold:粗體 FontItalic:斜體 FontStrikethru:刪除線 FontUnderline:下劃線 ForeColor:前景顏色 BackColor:背景顏色 MousePointer: 鼠標指針類型,設置值范圍0~15,由系統(tǒng)指定(若為99,由用戶提供的圖形文件定義鼠標指針形狀) MouseIcon:MousePoint
8、er=99,存放自定義的鼠標圖標文件(ico或cur) 控件默認屬性:程序運行時,可以改變某控件的值,而不必指定它的哪個屬性 文本框 Text 單選按鈕 Value 命令按鈕 Default 標簽 Caption 圖形、圖像框 Picture 復選框 Value 窗體 事件:Load事件(窗體被裝入觸發(fā)的事件,常為初始化);Click事件;DblClick事件 方法: [對象]方法[參數(shù)列表] Cls方法: 清除窗體或圖形框運行產(chǎn)生的文本圖形,不能清除窗體在設計時的文本圖形 Move方法:可移動窗體或控件,并改變其大小
9、 格式:[對象.]Move 左邊距離[,上邊距離[,寬度[,高度]]] 標簽:用來顯示文本信息(不能輸入) 文本框:文本編輯區(qū)域,可以在該區(qū)域輸入、編輯、修改和顯示正文內容 屬性: Text:顯示或輸入正文內容 Maxlength:可輸入的文字最大長度(默認0表示任意長度,字母和漢字長都為1) MultiLine:設置True可輸入或顯示多行;自動換行,按Enter可插入空行 ScrollBars:滾動條屬性(當MultiLine為True時,ScrollBars才有效) None:無滾動條 Horizontal:水平滾動條 Vertical:垂直滾動條
10、Both:同時加水平和垂直滾動條 PassWordChar:設置顯示文本的替代符(設置口令) (MultiLine為True時,該屬性不起作用,密碼不允許多行) Locked:指定是否可被編輯,默認False表可編輯;值為True相當于標簽 SelStart:選定的正文開始位置 SelLength:選定的正文長度 SelText:選定的正文內容 (設置SelStart、SelLength后,SelText 自動存放指定的文本) 事件: Changed事件:屬性值發(fā)生改變時引發(fā)該事件 KeyPress事件:按下并釋放鍵,引發(fā)的事件,鍵值存在參數(shù)KeyAscii Lo
11、stFocus事件:對象失去焦點發(fā)生的事件(數(shù)據(jù)驗證確認;檢查Text屬性內容) GotFocus事件:對象獲得焦點時發(fā)生 方法:最有用是SetFocus;形式: [對象.] SetFocus 命令按鈕:程序運行時執(zhí)行相應的事件 屬性: Caption:按鈕上顯示的文字 Style:按鈕樣式(0-不顯示圖形;1-可顯示圖形文字) Picture:在按鈕裝入圖形 ToolTipText:加以文字提示 事件:一般接收Click事件 第3章 VB語言基礎 3.1 數(shù)據(jù)類型 3.2 變量和常量 變量:在程序運行中其存儲的值可以改變 規(guī)則: 必須以字母或
12、漢字開頭,由字母漢字數(shù)字或下劃線組成,長度<=255個字符 不能使用VB中的關鍵字;不區(qū)分大小寫,一般變量名首字母大寫 聲明格式: Dim 變量名 [As 類型](As部分缺省則為變體類型 ) Ex:Dim m,n As Integer,x,y As Single 常量:用大寫字母表示 直接常量:其常數(shù)值直接反映了其類型 符號常量:用戶聲明,便于程序閱讀或修改 格式:Const 符號常量名 [As 類型] = 表達式 Ex:Const PI = 3.14159 系統(tǒng)常量:系統(tǒng)提供許多內部常量 Ex:vbCrLf:回車/換行組合符 3.3 運算符和表達式
13、 算術運算符 (算術運算符兩邊操作數(shù)應是數(shù)值型,數(shù)字字符或邏輯型自動轉成數(shù)值類型) 字符串運算符 &:兩旁的操作數(shù)可任意,轉換成字符型后再連接 +:兩旁的操作數(shù)應均為字符型 都為數(shù)值型則進行算術加運算 一個為數(shù)字字符,另一個為數(shù)值,自動將數(shù)字字符轉換為數(shù)值后進行算術加 一個為非數(shù)字字符,另一個為數(shù)值型,出錯 運算符 例 結果 = " ABCDE " = " ABR " False > " ABCDE " > " ABR " False >= “ bc” >= “大小 " False < 23<3 False <= " 23 " <= " 3
14、 "
True
<>
" abc" <> "abcde "
True
邏輯運算符
數(shù)據(jù)類型的轉換:Integer
15、類型]) 命令字符串:應用程序名(包括路徑.com、.exe、.bat) 窗口類型:執(zhí)行應用程序的窗口狀態(tài),0~4,6的整型數(shù)值,1表示正常窗口狀態(tài)。 函數(shù)調用成功返回一個任務標識ID,不成功,則返回0。 3.4 程序結構和編碼規(guī)則 編碼規(guī)則 代碼不區(qū)分字母的大小寫;關鍵字首字母自動變大寫,其余變小寫;自定義變量以后輸入自動變?yōu)槭状味x形式 語句書寫自由,一行上可寫多句語句(冒號分隔),一行最多255個字符;單行語句可分若干行書寫,在行末加入續(xù)行符(空格和下劃線) 第4章 VB控制結構 4.1 順序結構 賦值語句:變量名=表達式(左邊只能是變量,不能是常量、
16、常數(shù)符號、表達式) 數(shù)據(jù)輸出和輸入: InputBox函數(shù):打開個對話框,等待用戶輸入,返回字符串類型的輸入值 形式:InputBox(提示[,標題][,默認值][,x坐標位置][,y坐標位置]) (提示項不能省略;多行提示可在每行行末加回車換行vbCrLf) MsgBox函數(shù): 打開信息框,等待用戶選擇一個按按鈕;函數(shù)返回所選按鈕的值,過程不返回值 MsgBox函數(shù)形式:變量[%] = MsgBox(提示[,按鈕][,標題]) MsgBox過程形式:MsgBox 提示[,按鈕][,標題] 按鈕是整型表達式,決定信息框按鈕數(shù)目和類型及出現(xiàn)信息框上的圖標形式 MsgB
17、ox按鈕設置 MsgBox按鈕返回值 內部常數(shù) 返回值 被單擊的按鈕 vbOk 1 確定 vbCancel 2 取消 vbAbort 3 終止 vbRetry 4 重試 vbIgnore 5 忽略 vbYes 6 是 vbNo 7 否 Ex: Private Sub Form_Load() Text1.Text = "" Text1.MaxLength = 6 Text2.Text = "" Text2.MaxLength = 4 Text2.PasswordChar = "*“ End Sub
18、 Private Sub Text1_LostFocus() If Not IsNumeric(Text1.Text) Then MsgBox “帳號必須為數(shù)字”, , “警告" Text1.Text = "" Text1.SetFocus End If End Sub Private Sub Command1_Click() Dim i As Integer If Text2.Text <> "Gong" Then i = MsgBox(“密碼錯誤”, 5 + vb
19、Exclamation, “警告") If i <> 4 Then End Else Text2.Text = "" Text2.SetFocus End If Else MsgBox “密碼校驗成功!" End If End Sub Print函數(shù): 形式:對象.Print[Spc(n)|Tab(n)][輸出列表 ][;|,] 對象:窗體、圖形框或打印機,默認為窗體; Spc(n)函數(shù):從當前位置起空n個空格
20、Tab(n)函數(shù):從最左端開始計算的第n列 分號:定位在上一個被顯示的字符之后 逗號:定位在下一個打印區(qū)開始處(每區(qū)14列) Format格式輸出函數(shù):形式: Format (表達式[, "格式字符串"]) 4.2 選擇結構 If條件語句 形式: If <表達式> Then 語句塊 ElseIf <表達式2> Then 語句快2 Else 語句塊3 End If 或 If <表達式> Then <語句> Else<語句塊2> Ex:已知變量ch中存放了一個字符,判斷該字符是字母字符、
21、數(shù)字字符還是其他字符 If UCase(ch) >= "A" And UCase(ch) <= "Z" Then MsgBox(ch + "是字母字符") 考慮大小寫字母 ElseIf ch >= " 0" And ch <= "9" Then 數(shù)字字符 MsgBox(ch + "是數(shù)字字符") Else 除上述字符以外的字符 MsgBox(ch + "是其他字符") End If If語句的嵌套 格式: If 表達式1 Then If 表達式2 Then … End If … End If Select C
22、ase語句 格式: Select Case 變量或表達式 Case 表達式列表1 語句塊1 Case 表達式列表2 語句塊2 … [Case Else 語句塊n+1] End Select (表達式: "A";枚舉值2,4,6,8;60 To 100;Is<60 Select Case后不能出現(xiàn)多個變量;Case后不能出現(xiàn)變量及有關運算符) Ex:已知變量ch中存放了一個字符,判斷該字符是字母字符、數(shù)字字符還是其他字符 Select Case ch Cas
23、e "a" To "z","A" To "Z" MsgBox( ch + "是字母字符") Case "0" To "9" MsgBox (ch +"是數(shù)字字符") Case Else MsgBox( ch + "是其他字符") End Select 條件函數(shù) IIf函數(shù):If … Then …Else 結構的簡潔表示 格式:IIf(表達式,為真時的值,為假時的值) Choose函數(shù):根據(jù)i值,返回選項列表中第i個選項(i值越出選項范圍返回Null) 格式:Choose(整數(shù)表達式,選項列表) Ex:根據(jù)Nop的值,得
24、到+、-、、中的某運算符 Dim nop As Integer, op As Char Randomize() nop = Int(Rnd() * 4 + 1) op = Choose(nop, "+", "-", "", "") MsgBox("nop=" & nop & " op=" & op) Ex:根據(jù)當前日期,顯示今日是星期幾 t = Choose(Weekday(Now),“日”,“一”,“二”,“三”,“四”,“五”,“六”) MsgBox("今天是:" & Now & t) 4.3 循環(huán)結構 兩種類型的循環(huán)語句:計數(shù)循環(huán)語句,條件型循
25、環(huán)語句 For循環(huán)語句:控制循環(huán)次數(shù)預知的循環(huán)結構 格式: For 循環(huán)變量 =初值 To 終值 [Step 步長] 語句塊 [Exit For] 語句塊 Next 循環(huán)變量 (循環(huán)變量必為數(shù)值;循環(huán)次數(shù); 步長:>0時初值<終值;=1可省略;<0時初值>終值;=0時死循環(huán)) Ex:計算1~100的奇數(shù)和 Dim i%, sum% For i = 1 To 100 Step 2 sum = sum + i Next i MsgBox(sum) Do-Loop循環(huán)語句:Do循環(huán)用于控制循環(huán)次數(shù)未知的循環(huán)結構 形式1:
26、 Do { While|Until }<條件> 語句塊 [Exit Do 語句塊] Loop 形式2: Do 語句塊 [Exit Do 語句塊] Loop { While|Until} <條件> 4.4 其它輔助控制語句 Go To 語句: 無條件地轉移到標號或行號指定的那行語句 格式:Go To {標號|行號} Exit語句 用于退出某種控制結構的執(zhí)行 格式:Exit For、Exit Do、Exit Sub、Exit Function End語
27、句:獨立的End語句用于結束一個程序的運行,它可以放在任何事件過程中 4.5 綜合應用 Ex:用輾轉相除法求兩自然數(shù)的最大公約數(shù)。 求最大公約數(shù)的算法思想: (1)對于兩數(shù)m,n,使得m>n (2) m除以n得余數(shù)r (3)若r=0,則n為最大公約數(shù),結束;否則執(zhí)行(4) (4)m=n,n=r,再重復執(zhí)行(2) 4.6 程序調試 錯誤類型:語法錯誤、運行時錯誤和邏輯錯誤 調試和排錯 F9設置跟蹤-F8跟蹤-鼠標指向變量 第5章 數(shù)組和自定義類型 5.1 數(shù)組的概念 Ex:求100個學生的平均成績,并統(tǒng)計高于平均分的人數(shù)。用簡單變量和循環(huán),求平均成
28、績 Dim mark(99) As Integer 聲明數(shù)組mark Dim aver!, overn%, i% aver = 0 For i = 0 To 99 輸入成績,求分數(shù)和 mark(i) = InputBox("輸入學生的成績") aver = aver + mark(i) Next i aver = aver / 100 求100人的平均分 overn = 0 For i = 0 To 99 統(tǒng)計高于平均分的人數(shù) If mark(i) > aver Then overn = over
29、n + 1 Next i MsgBox ("平均分:" & aver & "高于平均分人數(shù):" & overn) 數(shù)組: 相同類型變量的集合,數(shù)組必須先后使用,聲明后在內存可分配一塊連續(xù)區(qū)域 格式: Dim 數(shù)組名(下標上界1,下標上界2…) [As 類型] (數(shù)組每維大小為下標上界+1) Ex:Dim mark(2,2) As long (3*3數(shù)組) 動態(tài)數(shù)組 建立動態(tài)數(shù)組要分兩步: 用Dim 語句聲明數(shù)組,但不能指定數(shù)組大小 Dim 數(shù)組名( ) As 數(shù)據(jù)類型 用ReDim語句動態(tài)地分配元素個數(shù) ReDim 數(shù)組名 (下標[
30、,下標2…]) Ex:Dim s ( ) As Single Sub Form_Load( ) ReDim s(4,8) End Sub (Dim 是說明語句, ReDim 是執(zhí)行語句; 過程中可多次用ReDim語句來改變數(shù)組的大小,但不能改變維數(shù)和類型 在ReDim 后加Preserve參數(shù)用來保留數(shù)組中的數(shù)據(jù),使用后只能改變最后一維的大小) 數(shù)組的輸入 通過TextBox控件或InputBox函數(shù)輸入 Ex:Dim s(3,4) AS Integer For i = 0 To 3 For j = 0 To 4 s(I,j)
31、= InputBox("輸入" & i &“," & j & "元素") Next j Next i 數(shù)組排序方法:選擇法、冒泡法、插入法、合并排序 5.3 列表框和組合框 列表框:可顯示多個選項供用戶選擇,不能直接修改其中的內容 組合框:組合了文本框和列表框的特性而形成的一種控件。 列表框和組合框重要屬性 List:是一個集合 ListIndex:選項的序號(從0開始) ListCount:項目數(shù)量 Sorted:排序 Text:被選定的文本內容 Ex:List1.ListIndex = 2 List1.ListCount = 6 List1
32、.Sorted = False List1.Text 為 "C/C++程序設計 " (List1.List(List1.ListIndex)等于List1.Text) 常用方法 AddItem:把一個項目加入列表 形式:對象.AddItem 項目字符串 [,索引值] (索引值:決定新增項在列表中的位置,如果省略,則新增項目添加在最后) RemoveItem:刪除列表中指定項目 形式:對象.RemoveItem 索引值 Clear:清除列表中所有項目 Ex:List1.Clear 重要事件 列表框:Click、DblClick 組合框:Click 5.4
33、自定義類型及數(shù)組 Type語句: 不同類型數(shù)據(jù)的集合 形式: Type 自定義類型名 元素名1 As 數(shù)據(jù)類型名 … 元素名n As 數(shù)據(jù)類型名 End Type (自定義類型一般在標準模塊文件定義,默認Public;在窗體模塊定義,須加Private) 自定義類型的聲明 形式:Dim 變量名 As 自定義類型名 Ex:Dim S1 As StudType,S2 As StudType 自定義類型變量成員的引用 引用自定義類型變量中的某個成員,形式如下: 自定義類型變量名.成員名 例如, S1.Name S1變
34、量中的姓名 S1.Sex 性別 可利用With語句簡化成員引用: With 結構變量對象名 語句塊 End With 5.5 綜合應用-分類統(tǒng)計 數(shù)據(jù)輸入 Ex:輸入一系列數(shù)據(jù)將它們按分隔符分離存在數(shù)組中。 對輸入的數(shù)據(jù)允許修改和自動識別非數(shù)字數(shù)據(jù)。 利用文本框輸入和編輯數(shù)據(jù);利用Replace函數(shù)去除重復輸入的分隔符。 利用Split函數(shù)將輸入的內容分離到數(shù)組中。 第6章 過程 6.1 函數(shù)過程的定義與調用 函數(shù)過程的定義:函數(shù)過程名+%表示返回空值 形式: [Public |Private] Function函
35、數(shù)過程(形參)[As 類型] 變量聲明 語句塊 Return 表達式 或 函數(shù)名=表達式 End Function Ex:編一求最大公約數(shù)的函數(shù)過程 Function gcd( m%, n%) As Integer If m < n Then t = m: m = n: n = t Do while n<>0 r = m Mod n : m = n: n = r Loop gcd = m End Function Ex:已知多邊
36、形各條邊的長度,計算多邊形的面積。 Function area(x!, y!, z!) As Single Dim c! c = 1 / 2 * (x + y + z) area = Sqrt(c * (c - x) * (c - y) * (c - z)) End Function Sub command1_click() … 輸入若干個三角形邊長 S=area(a,b,c)+area(c,d,e)+area(e,f,g) msgbox(“面積=” & S) End Sub 6.2 子過程的定義與調用 子過程特點 不是為了獲得某個函數(shù)
37、值,而是為了某種功能的處理 要獲得多個結果 子過程沒有數(shù)據(jù)類型和值 子過程的定義 形式:Sub 子過程名[(參數(shù)列表)] 局部變量或常數(shù)定義 語句 [Exit Sub] 語句 End Sub 子過程調用 Call 子過程名[(實參列表)] 子過程名 ([實參列表]) 形參:形參名+% 形參沒有具體的值,只代表了參數(shù)的個數(shù)、位置、類型 只能是簡單變量、數(shù)組名,不能是常量、數(shù)組元素、表達式 實參 實參只能是變量(與形參同類型的簡單變量、數(shù)組名、結構類型) 6.3 參數(shù)傳遞 形參傳遞:只
38、要關心形參的個數(shù)、類型、位置;按位傳遞 傳址與傳值:實參與形參的結合 傳址ByRef:將實參的地址傳遞給形參。對形參的操作=對相應實參的操作 傳值ByVal:將實參的值復制給形參,實參與形參斷開了聯(lián)系 (形參是數(shù)組都是地址傳遞) Ex:如下sum子過程求數(shù)組a各元素和、并改變數(shù)組各元素值: Function sum%(ByVal x() As Integer) Dim i% sum = 0 For i = 0 To UBound(x) sum += x(i):x(i) = 2 * x(i) Next i End Function 數(shù)組參數(shù)的傳遞 形參是數(shù)組
39、: 要以數(shù)組名加圓括號表示,不要給出維數(shù)上界 多維數(shù)組,每維以逗號分隔,在過程中通過Ubound函數(shù)確定每維的上界 實參是數(shù)組: 要給出數(shù)組名(不需要圓括號) (數(shù)組作為參數(shù)傳遞是將實參數(shù)組的起始地址傳給過程,使形參數(shù)組也具有與實參數(shù)組相同的起始地址) 變量的作用域 塊變量:在控制結構塊中聲明的變量,只能在本塊內有效(變量名%) 過程級變量:在一個過程內用Dim或Static語句聲明的變量,只能在本過程中使用 模塊級變量:模塊內,任何過程外用Dim、Private語句聲明的變量,在本模塊有效 全局變量:在模塊級用Public語句聲明的變量,可被應用程序的任何過程或函數(shù)訪
40、問 靜態(tài)變量:程序運行過程中可保留變量的值 形式:Static 變量名 [AS 類型] (用Dim聲明的變量,每次調用過程時重新初始化) 6.4 遞 歸 遞歸:在自身定義的內部調用自己 Ex:編fac(n)=n! 的遞歸函數(shù) Function fac(n As Integer) As Integer If n = 1 Then fac = 1 Else fac = n * fac(n - 1) End If End Function 第7章 用戶界面設計 7.1 常用控件 單選按鈕(OptionBu
41、tton) 單選按鈕以組的形式出現(xiàn),允許選擇一項 重要屬性 Caption屬性:按鈕上顯示的文本 Value屬性:表示單選按鈕的狀態(tài):True-被選定;False-未被選定 重要事件 Click事件 單擊后使Value屬性為True 復選框(CheckBox) Value屬性-復選框的狀態(tài): 0-vbUnchecked未選定;1-vbChecked被選定;2-vbGrayed灰色,并顯示一個選中標記 重要事件 Click事件 框架 (Frame) 具有容器功能:先建立框架,然后將各控件放置其中 Caption屬性:框架上的標題文本 (框架可以響應Click
42、和DoubleClick事件,但一般不需要編寫事件過程) 滾動條(ScrollBar):通常附在窗體上協(xié)助觀察數(shù)據(jù)或確定位置,也可作為數(shù)據(jù)輸入工具 滾動條有水平和垂直兩種 滾動條屬性 Value:滑塊當前位置的值(缺省為0) Min:滑塊最小位置值(缺省為0) Max:滑塊最大位置值 SmallChange:單擊滾動條兩端的箭頭時,Value屬性(滑塊位置)改變值 LargeChange:單擊滾動條的空白區(qū)域時,Value屬性改變值 滾動條事件 Scroll:當拖動滑塊時觸發(fā) Changed:改變Value屬性時觸發(fā) 進度條(ProgressBar):
43、用來指示事務處理的進度。 ProgressBar控件 Max和Min 設置控件的界限,Value 控件執(zhí)行階段被填充的數(shù)目,直到等于Max屬性值 控件顯示的填充數(shù)是Value屬性與Max和Min屬性之間的比值 Ex:下載文件,可將Max設置為文件長度 下載文件,將Value屬性設置為文件已經(jīng)下載的字節(jié)數(shù) 圖形框PictureBox控件 顯示圖片,也可作為其他控件的容器 在程序運行時裝入圖形:圖形框.Picture = LoadPicture("圖形文件名") 刪除圖形框中圖形:LoadPicture() Autosize屬性 True 圖形框自動
44、調整大小與圖片匹配 False 圖形超過圖形框的部分將被剪裁掉 圖像框Image 特點:圖像框占用更少的內存,描繪得更快;圖像框內不能存放其他控件 Stretch屬性 False 圖像框自動改變大小適應其中的圖形 True 圖形根據(jù)圖像框的大小自動調整尺寸 定時器:以一定的時間間隔產(chǎn)生Timer事件 屬性: Enabled:為False時定時器不產(chǎn)生Tick事件 Interval:觸發(fā)Timer事件的時間間隔(ms) 事件:定時器控件只有一個Timer事件(條件Enabled=True; Interval>0) 7.2 通用對話框 通用
45、對話框:在窗體上創(chuàng)建打開文件、保存文件、顏色、字體、打印等對話框 (通用對話框是輸入輸出的界面,不能真正實現(xiàn)操作) 通用對話框的基本屬性和方法 Action屬性和Show方法:(該屬性只能在程序中賦值) DialogTiltle屬性:設置通用對話框標題 CancelError屬性 True:選擇取消按鈕,Err.Number設置為32755(cdCancel) False:選擇取消按鈕,沒有錯誤警告 打開文件對話框:ShowOpen 重要屬性 : FileName:文件名稱,包含路徑 FileTitle:文件名,不包含路徑
46、Filter:確定所顯示文件的類型 Ex:Text Files|*.txt|所有文件|*.*顯示文本文件和所有文件 FilterIndex:文件列表中指定某類型文件 InitDir:初始化路徑 保存文件對話框:ShowSave 與Showopen的屬性基本相同 特有屬性:DefaultExt屬性-用于設置缺省的擴展名 Ex:Sub Command2_Click () CommonDialog1.ShowSave Open CommonDialog1.filename For Output As #1 Print #1, Text1.Text
47、 保存文件 Close #1 關閉文件 End Sub 顏色對話框:ShowColor 重要屬性Color:返回或設置選定的顏色 Ex:設置按鈕顏色 Sub Command3_Click () CommonDialog1.ShowColor Text1.ForeColor = CommonDialog1.Color End Sub 字體對話框:ShowFont Font:獲取選擇的字體 Color:選定的顏色 (必須先設置Flags屬性,否則將發(fā)生不存在字體錯誤,通常設置為H103)
48、7.3 菜單設計 菜單編輯器 分隔線: 在標題欄輸入一個連字符“-” 標題熱鍵:前面加&(“新建(&N)”) 菜單項重要屬性: Name、Visible、Enabled等 Text:菜單項上顯示的標題文本 ShortCut:設置菜單項的快捷鍵。 Checked:控制菜單項左邊是否顯示“√” 菜單項的事件:Click-為菜單項編寫程序 彈出菜單:獨立于窗體菜單欄而顯示在窗體內的浮動菜單 菜單彈出的方法: [對象.]PopupMenu 菜單名[, 標志, x, y] 標志:表示彈出的位置和觸發(fā)的鍵 Ex:Sub Text1_MouseDown(…)
49、 If Button = 2 Then PopupMenu EditMenu End Sub 7.4 多重窗體 多重窗體:一個應用程序中有多個并列的普通窗體,每個窗體有自己的界面,代碼和功能 添加窗體 工程|添加窗體命令:每個窗體有獨立的Frm文件,同一工程不能有相同名稱的窗體 設置啟動對象 工程|屬性指定啟動對象(缺省為第一個創(chuàng)建的窗體) 窗體語句 Load語句:裝入窗體到內存(不顯示) Load 窗體名稱 Unload語句:從內存刪除窗體 Unload 窗體名稱 或 Unload Me Show方法:顯示窗體 [窗體名稱
50、].Show [模式] 模式為1:關閉才能對其它窗體進行操作 模式為0:可以同時對其它窗體進行操作 Hide方法:隱藏窗體 [窗體名稱.] Hide 不同窗體數(shù)據(jù)的存取 直接訪問另一個窗體上的控件數(shù)據(jù) 另一個窗體名.控件名.屬性 Ex:Text1 = Val(Form2.Text1) + Val(Form2.Text2) 訪問另一個窗體中的全局變量 另一個窗體名.全局變量名 7.5 鼠標和鍵盤 鼠標 鼠標事件:需要注意事件發(fā)生在哪一個對象上 Click、DblClick事件 MouseDown 按下任意一個鼠標按鈕時被觸發(fā) Mo
51、useUp 釋放任意一個鼠標按鈕時被觸發(fā) MouseMove 移動鼠標時被觸發(fā) 事件過程 參數(shù)e決定鼠標的當前狀態(tài) e.X、e.Y表示當前鼠標的位置;e.Button指示按下或釋放了哪個鼠標按鈕 枚舉常量 含 義 MouseButtons.Left 按下或釋放了鼠標左鍵 MouseButtons.Right 按下或釋放了鼠標右鍵 MouseButtons.Middle 按下或釋放了鼠標中鍵 MouseButtons.None 沒有按下鼠標按鈕 鍵盤 KeyPress事件:只對會產(chǎn)生ACSII碼的按鍵有響應 參數(shù)e包含了與KeyPress事件相
52、關的數(shù)據(jù) e.KeyChar:其值為所按鍵相應的ASCII碼值 Ex:鍵盤輸入小寫A,e.KeyChar的值為“a” e.Handled:表按鍵是否被處理過。真:已經(jīng)被處理過,假:傳送給Windows處理 (e.Handled為真,即可怱略本次按鍵;用這個特性可在控件中去掉不允許字符) KeyDown事&KeyUp事件 用戶按下鍵盤鍵,便會引發(fā)該對象KeyDown事件,釋放按鍵便觸發(fā)KeyUp事件 參數(shù)e包含了所按鍵信息(及Shift、Ctrl、Alt鍵的狀態(tài)) e.KeyCode的值為操作的物理鍵。 7.6 應用程序向導 應用程序向導:用來生成一個應用程序的界面 文件-新建工程-VB應用程序向導命令 選擇菜單和子菜單項 選取工具欄按鈕 7.7 綜合應用
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。