用户控制单击 - Windows窗体

时间:2009-07-01 21:59:13

标签: c# winforms user-controls

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

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

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

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

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

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

我在c#中这样做。

谢谢!

2 个答案:

答案 0 :(得分:11)

在用户控件上单击另一个控件时,不会触发用户控件的单击事件。您需要手动绑定每个元素的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。

答案 1 :(得分:0)

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

请记住,这不会在groupboxes,panel等中将标签的clickevents添加到“SameAsForm_Click”-EventHandler。