为什么C#定义自定义控件的事件在事件中调用其方法会出现?
展开全部
有一种可能是:UserControl1的对象没有绑定ClrChang事件的处理程序。也就是:
UserControl1 userControl = new UserControl1();
// userControl.ClrChang += new ColorChange(userControl_ClrChang); 没有这一句
在C#.NET里推荐的引发事件的代码应该是:
if (ClrChang != null)
{
ClrChang(v1.BackColor);
}
这种写法能避免没有绑定时产生的空引用异常。
追问
我试试吧
追答
我也不知道我说的对不对,你把panel2_Click这个方法改成下面这样试一试:
private void panel2_Click(object sender, EventArgs e)
{
v1.BackColor = panel2.BackColor;
if (ClrChang != null)
ClrChang(v1.BackColor);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询