VB6中的事件处理方法:
上面是从《Programming MS Visual Basic 6.0》上贴下来的例子。
Class(类)中需要:
- 事件定义:Event …
- 事件触发:RaiseEvent …
客户代码事件处理:
- 第一定义事件处理对象:Dim WithEvents ObjectXX As Class
- 第二处理事件:
Private Sub ObjectXX_EventName
…
End Sub
对于窗体、控件使用,其实并不需要这么使用,因为有缺省的事件处理程序,例如Form_Load事件,Command1_Click事件等等。
但是,如果在一个Form内有一个Command1的按钮控件,那么,我们可以定义以下的事件处理程序:
Private Sub Command1_Click()
MsgBox "Old Test"
End Sub
另外,我们定义另外一个处理过程:
Dim WithEvents SS As CommandButton
Private Sub SS_Click()
MsgBox "test"
End Sub
执行则可以看到,两个过程都可以响应执行。而且,通过WithEvents定义的事件处理过程可以在单独的模块或类里,这样就可以隔离程序的界面和具体逻辑。
所以,其实对于VB.net或者C#,事件处理的方法和VB6并没有很大的差别,差别只是VB6中有缺省的事件处理过程;如同VB6有缺省的窗体一样,你可以这样使用:Form1.show,而在VB.net中必须先创建一个form,然后才可以调用。