Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 表单接收UserControl中引发事件的通知_C#_.net_Winforms_Events_User Controls - Fatal编程技术网

C# 表单接收UserControl中引发事件的通知

C# 表单接收UserControl中引发事件的通知,c#,.net,winforms,events,user-controls,C#,.net,Winforms,Events,User Controls,我还是找不到这上面的任何东西。但在我的应用程序中,我有一个主窗体(Form1),该窗体中有一个UserControl。当某人单击该usercontrol的ListView中的某个项目时,我想知道Form1表单中的该项目(ItemSelectionChanged事件)。对此有何建议/建议 感谢您在usercontrol内部,定义一个事件,例如 Event listviewItemChanged(ByVal itemIndex as integer) 然后,在usercontrol内部的Listv

我还是找不到这上面的任何东西。但在我的应用程序中,我有一个主窗体(Form1),该窗体中有一个UserControl。当某人单击该usercontrol的ListView中的某个项目时,我想知道Form1表单中的该项目(ItemSelectionChanged事件)。对此有何建议/建议


感谢您

在usercontrol内部,定义一个事件,例如

Event listviewItemChanged(ByVal itemIndex as integer)
然后,在usercontrol内部的Listview ItemSelectionChanged事件中,引发usercontrol的listviewItemChanged事件:

Private Sub ListView1_ItemSelectionChanged(ByVal sender As Object, ByVal e As ListViewItemSelectionChangedEventArgs) Handles ListView1.ItemSelectionChanged
RaiseEvent listviewItemChanged(e.ItemIndex)
End Sub
Public Sub usercontrol_listviewItemChanged(ByVal itemIndex as Integer) Handles usercontrol.listviewItemChanged
...
end sub
最后,在Form1中,处理usercontrol.listviewItemchanged事件:

Private Sub ListView1_ItemSelectionChanged(ByVal sender As Object, ByVal e As ListViewItemSelectionChangedEventArgs) Handles ListView1.ItemSelectionChanged
RaiseEvent listviewItemChanged(e.ItemIndex)
End Sub
Public Sub usercontrol_listviewItemChanged(ByVal itemIndex as Integer) Handles usercontrol.listviewItemChanged
...
end sub

在usercontrol内部,定义一个事件,例如

Event listviewItemChanged(ByVal itemIndex as integer)
然后,在usercontrol内部的Listview ItemSelectionChanged事件中,引发usercontrol的listviewItemChanged事件:

Private Sub ListView1_ItemSelectionChanged(ByVal sender As Object, ByVal e As ListViewItemSelectionChangedEventArgs) Handles ListView1.ItemSelectionChanged
RaiseEvent listviewItemChanged(e.ItemIndex)
End Sub
Public Sub usercontrol_listviewItemChanged(ByVal itemIndex as Integer) Handles usercontrol.listviewItemChanged
...
end sub
最后,在Form1中,处理usercontrol.listviewItemchanged事件:

Private Sub ListView1_ItemSelectionChanged(ByVal sender As Object, ByVal e As ListViewItemSelectionChangedEventArgs) Handles ListView1.ItemSelectionChanged
RaiseEvent listviewItemChanged(e.ItemIndex)
End Sub
Public Sub usercontrol_listviewItemChanged(ByVal itemIndex as Integer) Handles usercontrol.listviewItemChanged
...
end sub

UserControl只是一个类。给那个班安排一次公开活动。让表单订阅该事件。当用户控件中发生ItemSelectionChanged事件时,它应该引发其公共事件。UserControl只是一个类。给那个班安排一次公开活动。让表单订阅该事件。当用户控件中发生ItemSelectionChanged事件时,它应该引发其公共事件。