我创建了一个用户控件,里面有一些标签和图片。
然后,我将此用户控件添加到表单中。
在表格事件中,我设置了UserControl_click事件以提升功能。
我遇到的问题是,如果我点击UserControl背景,那里没有标签或图片,则会引发该功能。但是,如果我点击控件内的标签或图片,则该功能不会升高。
单击用户控件中的控件时,与单击控件背景时相比,我想要相同的行为。
答案 0 :(得分:1)
您的标签会捕获点击事件。订阅他们的Click事件并调用您从UserControl_click调用的相同处理程序。
答案 1 :(得分:0)
您必须在UserControl中的每个控件点击事件中添加添加功能:
Public Event ControlClick(sender As Object, e As EventArgs)
Private Sub uc1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
For each elem As Control in Me.Controls
AddHandler elem.Click, AddressOf RaiseClick
Next
End Sub
Private Sub RaiseClick(sender As Object, e As EventArgs)
RaiseEvent ControlClick(sender, e)
End Sub
然后在外面抓住两个事件:
Public Sub UserControl_click(sender As Object, e As EventArgs) _
Handles UserControl1.Click, UserControl1.ControlClick
'...
End Sub