Если у меня есть событие, как это:О обработки пользовательского события
' <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
Thankyou, но нет никакого способа сделать это, не создавая класс ?, у моего класса нет IDisposable, я знаю, как создать процедуру Dispose, но то, что я не знаю, - это в этом случае, потому что мне нужно поднять класс для обработки события, поскольку я хотеть. и другой вопрос, если я не прошу слишком много, я следил за твоими инструкциями о создании событий, но значение «Ничто» верно для переменной «e», просто мне больше не нужно проходить чем значение прогресса, поэтому ... Я здесь «ничего не сделал»: RaiseEvent PercentDone (прогресс, ничего) – ElektroStudios
Вам не нужно немедленно создавать объект как часть декларации. Вы можете просто объявить переменную 'WithEvents', оставив ее вначале на« Nothing », после чего вы можете установить ее для ссылки на любой объект, который вы хотите позже. Вы можете изменить, какой объект он ссылается так часто, как вам нравится, но, очевидно, он может ссылаться только на один объект за раз. –