自定义控件Click事件不起作用处理

最近工作中用到了自定义控件,于是写了一个复合控件,控件继承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;
            }
        }

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


名称栏目:自定义控件Click事件不起作用处理
路径分享:http://myzitong.com/article/poeidi.html