У меня есть сценарий, в котором я должен реализовать UserControl, нажав кнопку «Процесс», на котором работает фоновый рабочий стол.Добавление обработчика событий в пользовательский контроль VB.NET
Я хочу вызвать функцию/метод моей родительской формы, где я собираюсь добавить этот UserControl на событие «RunWorkerCompleted».
Private Sub btnGo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGo.Click
Try
bgwFetchGiftCard.RunWorkerAsync()
Catch ex As Exception
WriteLog(ex)
End Try
End Sub
Private Sub bgwFetchCard_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles bgwFetchCard.DoWork
Try
ds = New DataSet()
'Call ApI Service for Denomination
ds = APICALL()
Catch ex As Exception
WriteLog(ex)
End Try
End Sub
Private Sub bgwFetchCard_RunWorkerCompleted(ByVal sender As System.Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles bgwFetchCard.RunWorkerCompleted
If ds IsNot Nothing Then
Result = True
'At This Point I Want To Raise Event
'RaiseEvent
Else
'ShowMessage("FAIL")
End If
End Sub
Как может я достигнуть этого? Кто-нибудь любезно предложить
Добавить 'Public Event' объявление в свой код, поднять этот. Скрытие рабочих потоков в пользовательском управлении - не фантастическая идея. Вам нужно подумать о том, что произойдет, когда пользователь закроет форму, на которой работает этот элемент управления, и рабочий все еще работает. Вы не можете [использовать это] (http://stackoverflow.com/a/1732361/17034). –