繁体   English   中英

自定义UserControl的click事件不会触发

[英]Custom UserControl's click event does not fire

因此,我仅根据PictureBoxRadioButton创建了一个自定义UserControl ,如下所示:

public partial class Foo : UserControl
{
    //some declared properties for the designer...
}

在此处输入图片说明

现在,我将此对象添加到Form并订阅了它的Click()事件。

private void customAddedContr_Click(object sender, EventArgs e) { }

但是,仅单击此红色标记的部分会触发Click()事件。

在此处输入图片说明

因此,仅通过单击UserControl本身,因此在PictureBoxRadioButton Click() ,不会触发此Click()事件。 我认为针对此窗口句柄的每次单击都会触发此新UserControlClick事件。

那么,我是否需要早些时候将PictureBoxRadioButtonClick()事件绑定到UserControlClick()事件,或者我要监督什么?


编辑:

为了便于理解,这是CustomControl的彩色图片。

在此处输入图片说明

顶部的深灰色部分是PictureBox 蓝色的是UserControl本身,上面放置了其他控件。 浅灰色的底部是RadioButton 因此,只需单击蓝色部分( UserControl )就会触发Click()事件。

我建议分别显示图片框和单选按钮单击事件。

您可以在usercontrol级别并在每次单击内为广播和图片框引发自己的事件,即使您引发控件事件也是如此。 然后您可以在控件外部处理这些点击事件,并做出相应的响应。

public partial class Foo : UserControl
{
    public event EventHandler RadioButtonClicked;
    public event EventHandler PictureBoxClicked:
}

然后在控件内的图片框或按钮单击事件中,您在控件级别引发单个事件

private void PictureBox1_Click(object sender, EventArgs e)
{
    if (PictureBoxClicked != null)
        PictureBoxClicked(sender, e);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM