Visual Basic程序設計(第三版)課件第2章_第1頁
Visual Basic程序設計(第三版)課件第2章_第2頁
Visual Basic程序設計(第三版)課件第2章_第3頁
Visual Basic程序設計(第三版)課件第2章_第4頁
Visual Basic程序設計(第三版)課件第2章_第5頁
已閱讀5頁,還剩45頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第二章

VB程序設計初步本章主要內容1面向對象編程的基本概念2窗體3標簽、文本框、按鈕4程序調試目的和要求:掌握VB編程的關鍵性概念,掌握編程的一般步驟掌握窗體、標簽、文本框和命令按鈕的使用掌握程序調試的基本概念和方法2.1面向對象編程的基本概念(對象、對象的屬性、事件和方法)2.2窗體窗體是建立VisualBasic應用程序用戶界面的平臺。程序運行前,即設計階段,稱為窗體;程序運行后也可稱窗口。既是VB中最常見的對象,又是其它控件的容器一、窗體的屬性窗體的屬性決定了窗體的外觀和內在結構特征,其中一些屬性是其他控件也具有的。常用窗體屬p19表2-1結合實例,初識窗體的設計步驟:

實例:編寫程序將窗體的大小設置為屏幕的一半并使窗體居中顯示,裝入圖片,單擊后圖片消失,每單擊一次窗體顏色變換一次。PrivateSubForm_load()Form1.Width=Screen.Width*0.5Form1.Height=Screen.Height*0.5Form1.Left=(Screen.Width-Width)/2Form1.Top=(Screen.Height-Height)/2Form1.Picture=LoadPicture("e:\sunset.jpg")EndSubPrivateSubForm_click()Form1.Picture=LoadPicture("")Form1.BackColor=QBColor(Rnd*15)EndSub二、窗體的事件

VB采用了事件驅動的編程機制。當沒有事件發生時,程序處于等待狀態,只有當事件發生時程序才會運行。根據事件的來源,VB中的事件主要分為鼠標事件、鍵盤事件和系統事件3種。最常用的鼠標事件:click(單擊)、dblclic(雙擊)最常用的系統事件:initialize,load,unload,activate,deactivate事件。注:1.initialize,load,activate三個觸發事件的執行順序為:initialize,load,activate2.有些操作可在三事件中都可執行(如修改窗體的標題),有些則需特定的事件中完成,如print方法,在初始化中不可執行,load事件中執行但不顯示結果(除非將Autoredrawy設為真值),在activate中可執行。(1)Load事件(當一個窗體被裝載時觸發)PrivateSubForm_Load()List1.AddItem“安理大"List2.AddItem“計算機學院"EndSub‘在裝入窗體后自動執行,并在窗體上的列表框中對應填入相應的文字(2)Unload事件(運行程序后如果關閉窗體窗口,就會觸發unload事件)。窗體1PrivateSubForm_unLoad(cancelAsInteger)form2.showEndSub窗體2PrivateSubForm_Load()Form2.caption=“這是第二個窗體”EndSub

2.setfocus方法焦點設置:當某指定的按鈕一旦使用了此方法,用戶的輸入(如Enter鍵)就自動引導到成為焦點的按鈕上。例如要想讓第二個命令按鈕在程序一運行時插入點就放在此命令按鈕上,就可在窗體的activate事件中添加:

command2.setfocus。兩點注意:

注:*該事件不可出現在窗體的load事件中。

*使用此方法前被指定的按鈕的“visible”和“enable”屬性必須設為“true”。(3)Activate和deactivate事件

當一個窗體變為活動窗體時就會觸發activate事件。而當另一個窗或應用程序被激活,原窗體不再是活動窗體時,就會觸發deactivate事件。例:例:窗體1PrivateSubCommand1_Click()Form2.ShowEndSubPrivateSubform_deactivate()Print"aaaaa"EndSub窗體2PrivateSubForm_Activate()Text1.Text="AAAAAA"EndSub三、窗體常用方法

窗體方法實際上是VB提供的特殊過程。在窗體操作中可以使用以下方法:1.Cls方法格式:[對象名.]cls

此方法用來清除由print方法在窗體或圖片框中顯示的文本或用作圖方法在窗體或圖片框中顯示的圖形。例如,在窗體上添加一個圖片框picture1時,可編寫以下窗體過程:PrivateSubForm_click()Print"清除方法練習"Circle(3000,1000),700Picture1.Print"畫圓"Picture1.Circle(500,500),180EndSubPrivateSubCommand1_Click()Form1.ClsPicture1.ClsEndSub用cls方法清除窗體1和圖片框中的文字和圖形在窗體和圖片框中寫入文字和作圖2.Move方法格式:[對象名.]moveleft[,top[,width[,height]]]

使用此方法可以使對象(不包括時鐘)移動,同時也可以改變被移動對象的尺寸。例如:

PrivateSubForm_click()Form1.MoveLeft-120,Top+40,Width-150,Height-130EndSub3.show方法

格式:[對象名.]show[style]

此方法用于顯示指定的窗體,如果指定的窗體未裝載,VB將自動裝入該窗體。若未指名對象,則默認當前窗體。其中style=0為無模式,style=1為有模式。有模式:show后面的程序代碼暫停執行,直到該窗體被隱藏或卸載時才執行。無模式:show后面的程序代碼立即被執行。Show方法的有模式和無模式程序實例PrivateSubform_click()Form2.Show0Font.size=20ForeColor=vbRedForm1.Print"aaaaa"EndSub4.hide方法格式:[對象名.]hide用以隱藏指定的窗體但不能將其卸載。例:PrivateSubForm_click()HideMsgBox"按下確定重新顯示窗體"ShowForeColor=vbRedFontSize=40Print:PrintPrint“安理大歡迎您!"EndSub5.添加窗體與設置啟動窗體(1)添加窗體的步驟:

從“工程”菜單中選“添加窗體”工程資源管理器窗口完成(2)設置啟動窗體啟動窗體設置的步驟:可按下述步驟對工程屬性進行設置:從“工程”菜單中選擇“工程屬性”命令,打開“工程屬性“對話框選擇該對話框中的“通用”選項卡。在“啟動對象”下拉列表框中,選取作為新啟動窗體的form2單擊“確定”。2.3命令按鈕、標簽、文本框

一、標簽框標簽(label)控件是用來顯示文本的控件,該控件和文本框都是用來對文本進行處理的控件,但標簽控件沒有文本輸入的功能。1.基本屬性標簽控件的Name、height、width、top、left、enable、visible、font、forecolor、backcolor等屬性與窗體相同。2.常用屬性(P24表)(1)caption屬性

用來改變標簽(label)控件中顯示的文本。允許文本的長度最多1024個字符。當文本字符超過標簽寬度時自動換行(中文有效,西文無效),超過高度時超出部分被自動截去。(2)alignment屬性

用于設置caption屬性中的文本的對齊方式,共有3種方式:

0----leftjustify(左對齊)系統默認

1----rightjustify(右對齊)2----centerjustify(居中對齊)

(3)Backstyle屬性

用于確定標簽的背景是否透明。

0----transparenty(透明);標簽后面的背景和圖形可見。

1----opaque(不透明);標簽后面的背景和圖形不可見。系統默認(4)Autosiz和wordwrap屬性Autosiz屬性決定標簽水平寬度是否隨標題內容的多少自動變化。為true時標簽水平寬度隨標題內容多少自動水平方向調整寬度。為false時,標簽水平寬度不隨標題內容多少自動水平方向調整寬度,超出內容不顯示。

Wordwrap屬性用來設置標簽內容水平超寬時是否換行,當wordwrap為true、autosiz也為true時,換行,即高度自動調整,為false時,文本不換行。若autosiz為false時無論wordwrap為何值均不換行。(5)Bordstyle屬性

用于設置標簽邊框的樣式

0----none(無邊框)1----fixedsingle(有邊框)二、文本框(p25表)

文本框是一種通用控件用于顯示用戶輸入的信息,也可作為信息輸出的對象。1基本屬性文本框的Name、height、width、top、left、enable、visible、font、forecolor\backcolor等屬性與標簽相同。2.常用屬性

(1)text屬性

其值就是文本框的內容。允許文本的長度最多2048個字符。文本框無caption屬性與其它常用控件不同。可通過程序代碼、屬性窗口和程序運行時三種方式向文本框輸入信息。

(2)multiline屬性文本框默認為單行輸入,可將此屬性設為true來使文本框接受多行信息,文本長度可達32kB,字符數長度超過文本框寬度時自動換行。(3)Scrobars屬性為瀏覽文本提供水平和垂直滾動條。

0----無滾動條

1-----horizontal只有水平滾動條

2-----vertical只有垂直滾動條

3-----both具有水平和垂直滾兩個滾動條。注:此屬性的前提是屬性multiline為true。(4)maxlength屬性

設置文本框中允許的字符數,其值范圍為:0~2048個字符,默認為0,此時,只要不超出2048個字符均可。(5)passwordchar屬性為文本框輸入的字符設置掩碼,一般用于密碼的輸入。屬性值只能是一個字符。此屬性只影響文本框內容的顯示,不影響內容。若將passwordchar屬性值設為“*”,在生效期間,無論輸入什么字符,在文本框內只顯示“*”符號。例

PrivateSubCommand1_Click()a=Text1.TextIfa="123"ThenText2.Text="祝你注冊成功"ElseText2.Text="你輸入的密碼不正確!"EndIfEndSub(6)selstart屬性

確定在文本框內所選擇文本內容的起始位置,若未選擇文本則用于返回或設置文本插入點的位置。

(7)sellength屬性

用于設置或返回文本框中選定的字符長度。(8)seltext屬性

用于設置或返回當前選定的文本。(9)loced屬性設置文本框內的內容是否可以進行編輯,為true,只顯示不可編輯,否則可編輯。3.常用事件

(1)change事件

當用戶在文本框中輸入新的內容后,則觸發該事件。常用于對輸入字符的有效性的實時檢測。

例:PrivateSubText1_Change()DimaAsIntegern=Val(Len(Text1))Print"現在已輸入了"&Str(n)&"個字符了"EndSub(2)keypress事件舉例

在向文本框輸入信息時,每按下一個ASCII字符鍵,就觸發一次keypress事件,同時返回按下的所輸入的ASCII碼,可通過此事件判斷用戶按下的是哪個鍵。PrivateSubText1_KeyPress(nAsInteger)Form1.Height=Screen.HeightForm1.Width=Screen.WidthForm1.FontSize=30Text1.FontSize=30Print"你輸入的是"&Chr(n)&"字符"EndSub(3)lostfocus事件

當焦點從文本框中離開時,觸發該事件,通常可用該事件來檢查文本框中用戶輸入的內容或指定文本框失去焦點后所做的事情。4.常用方法setfocus方法:這是文本框最常用的方法,可使文本框獲得焦點,例如要想讓第一個文本框在程序一運行時插入點就放在此文本框上,就可在窗體的activate事件中添加:text1.setfocuse。

2點注意

PrivateSubform_activate()Text3.SetFocusEndSubPrivateSubtext1_lostfocus()Text2.Text=Text1.TextEndSub

注:*該方法不可出現在窗體的load事件中。

*文本框中的內容默認為字符型,若要參與數學運算,則要用val()函數進行轉換。例(p292-4):編寫程序,由用戶從鍵盤上輸入兩個數,然后求這兩個數的和并將結果顯示出來。源程序代碼及運行結果文本框作輸入文本框作輸出PrivateSubCommand1_Click()Text3.Text=Val(Text1.Text)+Val(Text2.Text)EndSub例(p302-5):編寫程序,單擊“復制”按鈕可將上面文本框中選定的內容復制到下面的文本框中;單擊“移動”按鈕,可將上面文本框中選定的內容移到下面的文本框中;單擊“清空”按鈕可將兩個文本中的內容清除。運行結果:文本框增設multiline屬性源程序如下PrivateSubCommand1_Click()Text2.Text=Text2.Text+Text1.SelTextEndSubPrivateSubCommand2_Click()Text2.Text=Text2.Text+Text1.SelTextText1.SelText=""EndSubPrivateSubCommand3_Click()Text1.Text=""Text2.Text=""EndSub注意文本框seltext屬性的應用三、命令按鈕命令按鈕主要用于接受用戶的操作信息、激發某些事件、實現下一個啟動、中斷和結束等操作。命令按鈕接收用戶信息的三種方式:鼠標單擊、按Tab鍵、快捷鍵(Alt+有下劃線的字母)注意:命令按鈕不支持雙擊(dblclick事件)(一)幾種基本和常用屬性:1.基本屬性:命令按鈕的Name、height、width、top、left、enable、visible、font等屬性均與窗體的使用方法相同。2.常用屬性:(1)caption屬性

該屬性用于設置命令按鈕上顯示的文本。屬性可在屬性窗口中設置、也可在和序運行中設置。

caption屬性最多包含255個字符,如果超過255則從末尾將多余字符截去。若標題字符超出命令按鈕的寬度,則自動換行。可通過caption屬性創建命令按鈕訪問鍵快捷方式。例:將命令按鈕的caption屬性設為“運行(&R)”后,此命令按鈕就可用Alt+R就可激活該命令按鈕。(2)default和cancel屬性

指定某一個默認命令按鈕時需將其default屬性設為true,同時將tabindex屬性按序設0、1值。此時,只要按回車鍵就相當于單擊了此鍵。若將其cancel屬性設為true,此時,只要按ESC鍵就相當于單擊了此鍵。一個窗體只能有一個命令按鈕的default屬性設為true,也只能有一個命令按鈕的cancel屬性設為true。PrivateSubcommand1_click()Print"aaaa"EndSubPrivateSubCommand2_Click()Print"bbbb"EndSub(3)value屬性

通過程序代碼將某一命令按鈕的value屬性設為true時,在程序運行中就相當于自動觸發了這個按鈕的單擊事件。此屬性不能在屬性窗口中設置。(4)style屬性此屬性在按鈕上顯示文字或圖形。style=0(standard)只顯示文字style=1(graphical)既可顯示文字也可顯示圖形(picture屬性中需添加要顯示的圖形文件)。PrivateSubcommand1_click()Command2.Value=TruePrint"aaaa"EndSubPrivateSubCommand2_Click()Print"bbbb"EndSub(5)picture屬性

使按鈕可顯示圖片文件,此屬性只有當style為1時有效。(6)tooltipText屬性

提示文本屬性,當某命令按鈕設置了tooltip屬性后,只要將光標放在此命令按鈕上,立刻顯示出該按鈕的文本提示。PrivateSubCommand1_Click()Print"abcdefghijk"Shell

"Explorer

"EndSubPrivateSubCommand2_Click()EndEndSub(7)若將按扭連接到網絡上去,可在代碼中使用:Shell

"Explorer

"

(二)常用事件

命令按鈕的最常用事件click()注:不支持Dblclick(雙擊)事件(三)常用方法

1.move方法

與窗體中的move方法相同。VB系統中的所有可視控件都有此方法。

PrivateSubCommand1_Click()Command1.Movecommand1.Left-20,command1.Top+20EndSub

例:

參照下圖的運行界面圖設計一段程序,單擊左移按鈕窗體向左移一次,單擊右移按鈕窗體向右移一次,每次移動的幅度為60twip。(打印機的一個點,即我們說的“磅”,相當于20個Twips,一英吋相當于1440個Twips,一公分則相當于567Twips)源程序代碼:PrivateSubCommand1_Click()Form1.Left=Form1.Left-120EndSubPrivateSubCommand2_Click()Form1.Left=Form1.Left+120EndSub四、開發VB應用程序的基本步驟實例1、設計用戶界面2、屬性設置3、編寫事件過程代碼4、運行調試工程5、保存工程6、工程的編譯注:保存工程的注意事項:一個工程所包含的多個不同類型文件如:窗體文件(.frm)、工程文件(.vbp)、模塊文件(.bas)等需要分別保存;一般不用系統默認的文件名,用自己輸入的文件名來保存;建議同一工程下的不同類型的文件存放在同一文件夾下。開發步驟舉例:開發步驟舉例:[例p262-3]設計一個程序,界面由3個按鈕(“顯示”、“清除”、“退出”)和1個文本框組成,當用戶單擊其中一個命令按鈕時,在文本框中顯示文本內容;單擊另一個按鈕時,清除文本框中的內容單擊第三個命令按鈕時結束程序的運行。1.界面設置1.界面設置

先進入VB編程環境,建立一個新的工程。將題目中要求的一個文本框和三個命令按鈕添加到form1窗體中去。添加完成后的窗體界面如下圖示:(1)控件添加:1.界面設置

(1)控件添加:(2)控件的設置(3)控件屬性的設置2.編寫事件過程代碼3.工程的保存4.運行調試工程(1)控件添加:方法1:單擊工具箱中圖標,在窗體上拖動鼠標。方法2:雙擊工具箱中控件圖標,在窗體中央自動添加控件(所畫控件的大小和位置是固定的)。方法3:按下Ctrl鍵,單擊工具箱中控件圖標;松開Ctrl鍵,在窗體上可重復拖動鼠標,添加多個控件。添加完成后單擊工具箱中指針圖標(或其他圖標)。(2)控件的設置(2)控件的設置①控件的縮放和移動②控件的復制和刪除復制時注意控件數組③選擇控件(3)控件屬性的設置①.直接在屬性框中鍵入新屬性值。②通過屬性框中下拉列表選擇所需要的屬性值。有些屬性如邊框類型、控件框、控件外觀、線條樣式等,取值有多種選擇。③.

利用對話框設置屬性值。有些屬性如Picture(圖片)、Icon(圖標)、Font(字體)屬性,設置框右端顯示省略號,即三個小點(…),單擊三個小點,顯示一對話框。④在對象過程代碼設計中,利用相關賦值語句來給對象的屬性賦值。按下表設置各控件屬性(見P19表1-4)

溫馨提示

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

評論

0/150

提交評論