vb.net event 与 sub 是什么作用啊?
本人刚才学,概念不清,不懂。下面代码错在哪,说明理由。PublicClassClass1PublicEventEv_Event()SubCauseSomeEvent()R...
本人刚才学,概念不清,不懂。下面代码错在哪,说明理由。
Public Class Class1
Public Event Ev_Event()
Sub CauseSomeEvent()
RaiseEvent Ev_Event()
End Sub
End Class
Public Class Form1
Sub TestEvents()
Dim Obj As New Class1
AddHandler Obj.Ev_Event, AddressOf EventHandler
AddHandler Obj.Ev_Event, AddressOf EventHandler1
Obj.CauseSomeEvent()
RemoveHandler Obj.Ev_Event, AddressOf EventHandler
Obj.CauseSomeEvent()
RaiseEvent Obj.Ev_Event() //请问为什么错在哪里啊?
End Sub
Sub EventHandler()
MsgBox("EventHandler caught event.")
End Sub
Sub EventHandler1()
MsgBox("1")
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
TestEvents()
End Sub
End Class 展开
Public Class Class1
Public Event Ev_Event()
Sub CauseSomeEvent()
RaiseEvent Ev_Event()
End Sub
End Class
Public Class Form1
Sub TestEvents()
Dim Obj As New Class1
AddHandler Obj.Ev_Event, AddressOf EventHandler
AddHandler Obj.Ev_Event, AddressOf EventHandler1
Obj.CauseSomeEvent()
RemoveHandler Obj.Ev_Event, AddressOf EventHandler
Obj.CauseSomeEvent()
RaiseEvent Obj.Ev_Event() //请问为什么错在哪里啊?
End Sub
Sub EventHandler()
MsgBox("EventHandler caught event.")
End Sub
Sub EventHandler1()
MsgBox("1")
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
TestEvents()
End Sub
End Class 展开
1个回答
展开全部
RaiseEvent只能在类的定义中用 不能通过实例引用 也就是说Event是由类的开发者封装好的,不允许使用者自己在代码中来引发事件,用户只能编写处理事件的代码(也就是你程序中的Sub EventHandler()和Sub EventHandler1())
更多追问追答
追问
谢谢,你有快速入门的书没有啊,不胜感激!
追答
呵呵 我没完整的看过一本书 都是东看看西看看 其实我觉得大多数的东西都是在自己写程序然后遇到问题的时候百度解决的 所以我感觉度娘比什么书都好用。。 你最好别只看书 多写 写的时候遇到问题 然后解决了 自然也就学到了。。。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询