如果我有這樣的一個事件:關於處理自定義事件
' <summary>
' Event raised when conversion progress changes.
' </summary>
Public Shared Event PercentDone(ByVal percent As Integer)
Sub(...)
CoreConverter.StartInfo.FileName = CoreConverter_Location
CoreConverter.Start()
While Not CoreConverter.HasExited
If ChrW(CoreConverter.StandardOutput.Read) = "*" Then
progress += 1
RaiseEvent PercentDone(progress)
End If
End While
CoreConverter.Close()
RaiseEvent Exited()
End sub
我怎麼能寫在其他類(例如,在默認Form1類)的事件處理程序,因爲這:
Sub Converter_Progress(Progress As Integer) Handles CoreConverter.PercentDone
' Some code...
End Sub
...而不是手動添加處理類似這樣的東西:
AddHandler CoreConverter.PercentDone, AddressOf Converter_Progress
三江源,但後來就沒有辦法做沒有實例化類,我的類沒有IDisposable,我知道如何創建一個Dispose過程,但我不知道的是,如果在這種情況下是必要的,因爲我需要實例化類來處理事件,因爲我想。和其他問題,如果我沒有問太多,我已經遵循了關於事件創建的指示,但是「Nothing」的值對於「e」變量是正確的,只是我沒有更多的要通過比進度值,所以...我在這裏提出了一個「沒有」:RaiseEvent PercentDone(progress,Nothing) – ElektroStudios
你不需要立即實例化一個對象作爲聲明的一部分。你可以簡單地聲明變量'WithEvents',最初將它設置爲'Nothing',然後你可以將它設置爲在以後引用任何你想要的對象。您可以隨時更改其引用的對象,但顯然它一次只能引用一個對象。 –