如果是上面我说的意思,你点击自定义控件的点击事件在form中处理,lable的事件在自定义控件中处理,而且点击lable的时候既要处理lable的事件,还要触发form中自定义控件的点击,如下处理。 1:在自定义控件中,自定义对外单击事件 //定义委托 public delegate void BtnClickHandle(object sender, EventArgs e); //定义事件 public event BtnClickHandle UserControlBtnClicked; 自定义控件usercontrol的click事件 private void usercontrol_Click(object sender, EventArgs e) { if (UserControlBtnClicked != null) UserControlBtnClicked(this, new EventArgs()); } lable的click事件 private void lblel_Click(object sender, EventArgs e) { //lable原来的单击逻辑 ....... //最后加上 if (UserControlBtnClicked != null) UserControlBtnClicked(this, new EventArgs()); } 2:form窗体的自定义控件不要用默认的click事件,用自定义的UserControlBtnClicked事件 private void form1_UserControlBtnClicked(object sender, EventArgs e) { //点击逻辑 }
你的意思是Lable需要执行原来的改变颜色等后,还要继续执行自定义控件的点击逻辑?
直接将PictureBox或者Label的enable属性设置为false就可以了。PictureBox或者Label仅仅用来显示,设置为enable无影响
自定义控件中的lable和picturebox在上面,如果点击这两个也执行自定义控件的点击事件,这两个控件的点击事件指向自定义控件的点击事件。
PictureBox或者Label添加点击事件,指向控件的点击
110,536
社区成员
642,578
社区内容
加载中
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧