用户控制单击 – Windows窗体

我的Windows窗体上有自定义用户控件。 此控件上有几个标签。

我将在我的表单上动态显示这些控件的数组,其中包含不同的数据位。

我想要做的是知道当我点击它时选择了哪个用户控件。

当我单击用户控件上的空白区域时,这是有效的,但是,如果我单击用户控件上的任何标签,它将无法识别用户控件单击。

有关如何进行完全用户控制点击的任何想法,即使点击控件上的标签?

如果这个问题不明确,或者您需要更多信息,请发表评论。

我在c#中这样做。

谢谢!

在用户控件上单击另一个控件时,不会触发用户控件的单击事件。 您需要手动绑定每个元素的click事件。 您可以通过用户控件的代码隐藏上的简单循环来执行此操作:

foreach (Control control in Controls) { // I am assuming MyUserControl_Click handles the click event of the user control. control.Click += MyUserControl_Click; } 

在完成这段代码之后,当单击对用户控件的任何控件时,将触发MyUserControl_Click。

  foreach (Control c in this.Controls) { c.Click += new EventHandler(SameAsForm_Click); } 

请记住,这不会将组框,面板等中的标签clickevents添加到“SameAsForm_Click”-EventHandler中。