最近工作中用到了自定义控件,于是写了一个复合控件,控件继承UseControl,上面有一个Lable和PictureBox;
在使用中发现控件的Click事件不响应,经过多次实验发现只有在单击事件发生在Lable上字和PictureBox上时,事件不相应,推测可能是上面的Lable和PictureBox控件阻断了之后的事件响应;结合资料找到一个解决办法:
重新定义组件的Click事件,代码如下:
//新定义组件单击事件 public new event EventHandler Click { add { base.Click += value; pbImage.Click += value; label1.Click += value; } remove { base.Click -= value; pbImage.Click -= value; label1.Click -= value; } }
此处只有两个控件,所以就依次手动添加了,如果比较多可以采用遍历的方式添加;
转载于:https://blog.51cto.com/hansong007/1414767