VB.NET編程語(yǔ)言的出現,對開(kāi)發(fā)人員來(lái)說(shuō)無(wú)疑是一件好事。他們可以利用它來(lái)輕松的實(shí)現許多功能。其中VB.NET Sub過(guò)程是在響應事件時(shí)執行的代碼塊。將模塊中的代碼分成Sub過(guò)程后,在應用程序中查找和修改代碼變得更容易了。Sub過(guò)程的語(yǔ)法是:
- {Private|Public|Friend}
Sub subname
([arguments list])- statements
- End Sub
其中,arguments list是參數列表,可以象聲明變量一樣聲明參數。
每次調用VB.NET Sub過(guò)程都會(huì )執行Sub和End Sub之間的statements??梢詫⒆舆^(guò)程放入標準模塊、類(lèi)模塊中。按照缺省的規定,所有模塊中的子過(guò)程為Public(公用的)這意味著(zhù)在應用程序中可隨處調用它們。在Visual Basic中應區分通用過(guò)程和事件過(guò)程這兩類(lèi)子過(guò)程
1.通用過(guò)程
通用VB.NET Sub過(guò)程告訴應用程序如何完成一項指定的任務(wù)。一旦確定了通用過(guò)程,就必須由專(zhuān)有應用程序來(lái)調用。反之,在響應用戶(hù)引發(fā)的事件或系統引發(fā)的事件而調用事件過(guò)程之前,事件過(guò)程通??偸翘幱诳臻e狀態(tài)。建立通用過(guò)程就是為了將幾個(gè)不同的事件過(guò)程所要執行的同樣語(yǔ)句“提”出來(lái)。將公共語(yǔ)句放入一個(gè)分離開(kāi)的過(guò)程(通用過(guò)程)并由事件來(lái)調用它,這樣一來(lái)就不必重復代碼,也容易維護應用程序。
面向過(guò)程的編程思想就是每個(gè)事件對應相應的過(guò)程,一般來(lái)說(shuō),過(guò)程的大小應在60至200行代碼之間,如果小于這個(gè)范圍,就要考慮這個(gè)過(guò)程是否需要單獨提出來(lái),如果大于這個(gè)范圍,就應當考慮是否應將大的過(guò)程細化,一個(gè)好的程序風(fēng)格總會(huì )看到其層次關(guān)系,也就是過(guò)程既有它需要調用的子過(guò)程,還有調用它的父過(guò)程。
2.事件過(guò)程
當Visual Basic中的對象對于個(gè)事件的發(fā)生做出認定時(shí),便自動(dòng)用相應于事件的名字調用該事件的過(guò)程。因為名字在對象和代碼之間建立了聯(lián)系,所以說(shuō)事件過(guò)程是附加在窗體和控件上的。
(1)一個(gè)控件的事件過(guò)程將控件的實(shí)際名字(在Name屬性中規定的)、下劃線(xiàn)(_)和事件名組合起來(lái)。
例如,如果希望在單擊了一個(gè)名為btnPlay的命令按鈕之后,這個(gè)按會(huì )調用事件過(guò)程,則要使用btnPlay_Click過(guò)程。
(2)一個(gè)窗體事件過(guò)程將窗體的名字空間、下劃線(xiàn)和事件名組合起來(lái)。如果希望在單擊窗體之后,窗體會(huì )調用事件過(guò)程,則要使用Form_Click過(guò)程(和控件一樣,窗體也有惟一的名字,但不能在事件過(guò)程的名字中使用這些名字。)
用戶(hù)雖然可以自己編寫(xiě)事件過(guò)程,但使用Visual Basic提供的代碼過(guò)程會(huì )更方便,這個(gè)過(guò)程自動(dòng)將正確的過(guò)程名包括進(jìn)來(lái)。從“對象框”中選擇一個(gè)對象,從“過(guò)程框”中選擇一個(gè)過(guò)程,就可在“代碼編輯器”窗中選擇一個(gè)模板。在開(kāi)始為控件編寫(xiě)事件過(guò)程之前先設置控件的Name屬性,這樣可以避免在編譯時(shí)產(chǎn)生一定的錯誤隱患。如果對控件附加一個(gè)VB.NET Sub過(guò)程之后又更改控件的名字,那么也必須更改過(guò)程的名字,以符合控件的新名字。否則,Visual Basic無(wú)法使控件和過(guò)程相符。過(guò)程名與控件名不符時(shí),過(guò)程就成為通用過(guò)程。
聯(lián)系客服