[英]Custom UserControl's click event does not fire
因此,我仅根据PictureBox
和RadioButton
创建了一个自定义UserControl
,如下所示:
public partial class Foo : UserControl
{
//some declared properties for the designer...
}
现在,我将此对象添加到Form
并订阅了它的Click()
事件。
private void customAddedContr_Click(object sender, EventArgs e) { }
但是,仅单击此红色标记的部分会触发Click()
事件。
因此,仅通过单击UserControl
本身,因此在PictureBox
或RadioButton
Click()
,不会触发此Click()
事件。 我认为针对此窗口句柄的每次单击都会触发此新UserControl
的Click
事件。
那么,我是否需要早些时候将PictureBox
和RadioButton
的Click()
事件绑定到UserControl
的Click()
事件,或者我要监督什么?
编辑:
为了便于理解,这是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.