为什么C#定义自定义控件的事件在事件中调用其方法会出现?

 我来答
Pulaski
推荐于2016-05-27 · TA获得超过545个赞
知道小有建树答主
回答量:177
采纳率:0%
帮助的人:231万
展开全部

有一种可能是: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);
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式