Возникла проблема при доступе к объявленному событию в vb.net
Возникла проблема при доступе к объявленному событию в vb.net.
Пожалуйста, ознакомьтесь с приведенным ниже примером. (Я изменил материал ниже, чтобы сделать его нестабильным, так как он является частью разработки пользовательских элементов управления)
Public Class Main
Inherits ComboBox
'Event handler for when an item check state changes.
Public Event ItemCheck As ItemCheckEventHandler
Private parentMainClass As Main
Private cclb As controlClass
Public Sub New(parentclass As Main)
Me.parentMainClass = parentclass
'Add a handler to notify our parent of ItemCheck events.
AddHandler Me.cclb.ItemCheck, New System.Windows.Forms.ItemCheckEventHandler(AddressOf Me.cclb_ItemCheck)
End Sub
Private Sub cclb_ItemCheck(sender As Object, e As ItemCheckEventArgs)
'If ccbParent.ItemCheck IsNot Nothing Then
RaiseEvent parentMainClass.ItemCheck(sender,e)
'End If
End Sub
Public Class controlClass
Inherits CheckedListBox
End Class
End Class
Проблема: RaiseEvent parentMainClass.ItemCheck(sender,e)
это утверждение показывает - событие ItemCheck не существует, даже если оно существует.
Пожалуйста, руководство.
Благодарю вас
2 ответа
Объявление события;
Public Event ItemCheck As ItemCheckEventHandler
Должно быть;
Public Event ItemCheck(sender As Object, e As ItemCheckEventArgs)
Ошибка говорит вам, что она не может сопоставить событие с сигнатурой обработчика события.
Из вашего исходного кода, строка;
RaiseEvent parentMainClass.ItemCheck(sender, e)
должен быть изменен на;
RaiseEvent ItemCheck(sender, e)
Это вызывает событие ItemCheck из текущего экземпляра. Похоже, что вы хотите сделать, это вызвать событие в родительском экземпляре, что немного отличается.