好的,在過去3年使用WPF之後,我剛剛開始使用Winforms。我需要從一種形式(當客戶信息更新時)觸發事件,並讓另一種形式訂閱該事件並執行一些處理以更新顯示的客戶信息,如果更新的客戶與其他客戶相匹配形成。我只能找到在子窗體或父窗體或從用戶控件到父窗體的窗體上執行此操作的示例,其中父窗體具有對訂閱該事件的子窗體的引用。我找不到任何有關如何將這些信息設置爲兩個不相關且不相互引用的表單的信息。我只想從一種形式發起一個事件,然後從另一個形式中挑選出來。似乎它應該很容易,但我沒有太多的運氣。任何幫助表示讚賞!謝謝!WinForms中兩個無關表單之間的事件
UPDATE:這是我迄今爲止設置:包含事件和方法,提高事件
對象。需要訂閱事件
Private Sub btnOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOK.Click
Dim customerEvents As New CustomerEvents
customerEvents.RaiseCustomerInformationUpdated(iCustomerID)
Me.Close()
End Sub
形式:即引發事件的
Public Class CustomerEvents
Public Event CustomerInformationUpdatedEvent(ByVal customerId As Integer)
Public Sub RaiseCustomerInformationUpdated(ByVal customerId As Integer)
RaiseEvent CustomerInformationUpdatedEvent(customerId)
End Sub
End Class
形式
Private Sub myForm_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Activated
Dim customerEvents As New CustomerEvents
AddHandler customerEvents.CustomerInformationUpdatedEvent, AddressOf HandleCustomerInformationUpdated
End Sub
Private Sub HandleCustomerInformationUpdated(ByVal customerid As Integer)
' Processing
End Sub
但HandleCustomerInformationUpdated永遠不會被擊中。我究竟做錯了什麼??謝謝!
使用'As New'無法工作,您會得到一個新的實例,但目前還沒有人可以訂閱該事件。 – 2015-04-02 17:19:42