最近工作中用到了自定义控件,于是写了一个复合控件,控件继承UseControl,上面有一个Lable和PictureBox;

在使用中发现控件的Click事件不响应,经过多次实验发现只有在单击事件发生在Lable上字和PictureBox上时,事件不相应,推测可能是上面的Lable和PictureBox控件阻断了之后的事件响应;结合资料找到一个解决办法:


重新定义组件的Click事件,代码如下:

//新定义组件单击事件publicneweventEventHandlerClick{add{base.Click+=value;pbImage.Click+=value;label1.Click+=value;}remove{base.Click-=value;pbImage.Click-=value;label1.Click-=value;}}


此处只有两个控件,所以就依次手动添加了,如果比较多可以采用遍历的方式添加;