程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> Visual Basic語言 >> VB.NET >> vb.net的事情和事情處置

vb.net的事情和事情處置

編輯:VB.NET

vb.net的事情和事情處置。本站提示廣大學習愛好者:(vb.net的事情和事情處置)文章只能為提供參考,不一定能成為您想要的結果。以下是vb.net的事情和事情處置正文


有的時分,用戶能夠覺得Visual Studio的工程是一系列的順序發作的進程,但是在大少數狀況下,其實順序是事情驅動的(event driven)---也就是說,順序的運轉都是取決於一些諸如點擊鍵盤,點擊鼠標以及一些用戶自定義的事情。不象線性停止的順序那樣,它在有些時分不能夠決議是要運轉哪一個事情驅動的特定進程。事情對如今的編程而言可以說是一個根本的組成局部,由於這些事情可以讓用戶寫出能對對象之外的世界做出反響的順序,諸如用戶的輸出和其他對象輸出的信息。
1.事情
事情是用來告知使用順序,一些重要的事情的發作。例如,當用戶點擊了窗體中的一個控件時,一個Click事情被觸發了,並且可以調用一個事情處置進程。事情也可以讓一些不相關的進程聯絡在一同。例如,有一個進程需求做很多事情,諸如一系列的操作,用戶可以把一系列的事情組成一個獨立的線程。假如用戶決議要取消一個操作,使用順序可以收回一個cancel事情,來阻止這一系列操作的停止。
2.事情發送器
一個可以引發一個事情的對象是一個事情發送器,例如:窗體、控件以及用戶定義的對象。
3.事情的聲明
在類中,事情的聲明是用關鍵字Event來停止的。例如:
Event AnEvent(Byval EventNumber As Integer)
4.事情的引發
事情就象一件十分重要的事情發作了,而宣布這件重要的事情的行為就叫做事情的引發。從理論的角度來講,一個事情不能象辦法那樣被運用,就好像不能用Button1.Click去引發一個button的點擊事情一樣。事情必需運用RaiseEvent關鍵字來引發。上面的例子引發了一個名為AnEvent的事情:
RaiseEvent AnEvent(EventNumber)
5.事情的處置
事情的處置是當一個相關事情發作當前調用的一個進程,假如用戶在編輯環境下雙擊一個窗體上的一個控件,或許附屬性窗口的下拉框中選擇一個事情的話,vb.net將會自動樹立一個事情處置進程。Visual Basic運用規范的商定的表述來命名這個進程,這種命名辦法就是把事情的發作器(引發事情的對象)和事情的稱號用下劃線連起來。例如,名為button1的點擊事情可以這樣表示:
sub button1_click
用戶可以用這種命名法對自己定義的事情停止命名,但是假如用戶用了Handles關鍵字的話就沒有必要這樣做了。
6.把事情和事情處置聯絡起來
在一個事情處置可以運用之前,用戶需求把它和一個事情用WithEvents或許AddHandler聯絡起來。
WithEvents的陳說和Handles從句聲明一個事情處置的辦法,無論是怎樣的WithEvents變量,分配的對象都可以激起一個特定的事情的處置。
AddHandler和RemoveHandle陳說可以允許用戶靜態地銜接和斷開事情與事情處置的進程。
在有些狀況下,例如把一些事情和一些規范的控件聯絡,vb.net將會把事情處置和一個事情聯絡在一同。例如,在vb.net先前的版本的設計環境中,用戶可以雙擊一個按鈕控件,然後一個空的事情處置進程就發生了,用戶可以在外面參加代碼,在代碼的面前,Visual Basic經過隱型地發生一個WithEvents變量就可以把事情處置進程和事情聯絡起來,這個空的事情處置進程如下:
Private Sub Command1_Click()
End Sub
正如這個進程一樣,vb.net也可以經過在設計環境下雙擊一個按鈕控件來樹立一個事情處置進程,上面就是當雙擊一個按鈕控件當前,零碎自動生成的代碼:

Private WithEvents Button1 As System.WinForms.Button
Proteced Sub Button1_Click(Byval sender As System.Object,_
                               Byval e As System.EventArgs)
End Sub

雖然從代碼自身來看有很多不同,但是事情處置是一樣的。新加的參數關於控件的事情處置而言是必需的,在大少數狀況下,用戶並不需求運用它們。
7.給一個類加事情
用戶可以經過運用Events表述來聲明一個類的事情,聲明包括了事情的稱號和參數。
首先,在定義類的類模塊的聲明欄中運用Event陳說聲明一個有參數的事情,例如:
Public Event PercentDone(Byval Percent AS Single,_
ByRefCancel As Boolean)
事情總是被聲明為私有的,而且,事情沒有前往值、可選參數或許數組參數。
給一個類加一個事情闡明了只需是這品種的對象就可以引發這種特定的事情,用戶需求運用RaiseEvent表述來讓一個事情真正運轉起來,一旦事情運轉起來當前,用戶就可以運用WithEvents或許AddHandler把事情和事情處置進程聯絡起來。
8.事情處置進程
用戶可以運用WithEvents和AddHandler關鍵字編寫事情處置進程。
用WithEvents處置事情:
(1)在可以處置事情的模塊的聲明欄中,用關鍵字WithEvents參加類的變量,這個變量必需是一個模塊級的變量。
(2)在代碼編輯環境的右邊的下攔框中,選擇用WithEvents聲明的變量。
(3)在代碼編輯環境的左邊的下拉框中,選擇希望能處置的事情(假如能夠的話,可以對一個對象處置多種事情)。
(4)把代碼參加到事情處置進程中,並運用相關的參數。
運用AddHandler處置事情:
AddHandler和RemoveHandler結合起來運用,可以完成WithEvents表述的功用。但是允許用戶靜態地添加、移除以及改動和事情有關的錯誤處置。AddHandler有兩個參數、事情發送器(比方控件)的稱號和一個表達式,這個表達式標明一種委托關系。當用戶運用AddHandler時,沒有必要顯性地聲明委托類,對委托關系的援用,可以經過AddressOf來前往。上面的例子把一件事情處置進程和一個按鈕的點擊事情聯絡在一同,委托關系來自於樹立一個新的System.EventHandler的實例。
AddHandlerButton1.Click.NewSystem.EventHandler(AddressOf
me.Button1ClickEventHandler
(1)要處置事情的模塊的聲明欄中參加一個類的變量。
(2)用AddHandler表述並且標明事情發送器的稱號,以及含有事情處置進程的AddressOf表述代碼。例如:
Dim h As New HH()
AddHandler h.Oevent,AddressOf Me.handleTheEvent

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved