我想使用VB .NET 4.0事件處理來放鬆項目中的對象依賴關係。 我編譯如下(簡單的)例子說明我的問題的性質代碼:VB .NET中的事件處理
實例形式(應當抓住引發的事件):例如1類(只是一類
Public Class Form1
Dim WithEvents obj1 As Class1
Dim WithEvents obj2 As Class2
Private Sub Form1_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
obj1 = New Class1
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
obj1.sendEvent()
End Sub
Public Sub handleEventFromClass2(ByRef sender As Class2, _
ByVal op As Integer) Handles obj2.TestEvent
TextBox1.Text = "Wert : " & op
End Sub
End Class
內容在中間):實施例的
Public Class Class1
Public Sub sendEvent()
Dim c2 As New Class2
c2.sendEvent()
End Sub
End Class
內容等級2(定義和引發事件):
Public Shared Event TestEvent(ByRef sender As Class2, _
ByVal testInteger As Integer)
Public Sub sendEvent()
RaiseEvent TestEvent(Me, 4)
End Sub
End Class
我曾期待Form1處理事件 - 事實並非如此。有什麼辦法可以將事件「跨越」不相互「意識到」的對象發送出去嗎?
在此先感謝
克里斯
嗨漢斯!非常感謝這個完美的解釋!我最初的意圖是使用Events來實現代碼部分之間的鬆散耦合。共享事件的使用更多的是絕望的行爲:-)。很高興知道這至少是一種可能的選擇。經過一番考慮之後,我回過頭來加入一個界面而不是使用事件的經典方法。再次感謝您的回答! – Chris