当前位置:编程学习 > C#/ASP.NET >>

自定义事件出错

代码执行至事件时出错,若我在外部定义事件nStatusLabel1.StatusChanged+=new NStatusLabel.eStatusChanged(nStatusLabel1_StatusChanged);则不不在报错。
请问如何解决?


public class NStatusLabel:Label
    {
        public NStatusLabel()
        {

        }

        StatusEnum _status = StatusEnum.None;

        public StatusEnum Status
        {
            get
            {
                return _status;
            }
            set
            {
                _status = value;
                StatusChanged(this, null);    --出错,提示“未将对象引用设置到对象的实例。”             
            }
        }

         //定义的委托
        public delegate void eStatusChanged(object sender, EventArgs e);
    //与委托相关联的事件
        public event eStatusChanged StatusChanged;

--------------------编程问答--------------------

public StatusEnum Status
{
     get
     {
         return _status;
     }
     set
     {
          _status = value;
          OnStatusChanged(null);          
     }
}
public delegate void eStatusChanged(object sender, EventArgs e);
public event eStatusChanged StatusChanged;
private void OnStatusChanged(EventArgs e)
{
    if(StatusChanged!=null) StatusChanged(this,e);  
}
--------------------编程问答-------------------- 监听 INotifyPropertyChanged 事件是一个.net编程模式,设计时尽量复用,而不必自己发明。

http://bbs.csdn.net/topics/390601894?page=1#post-395667842 --------------------编程问答-------------------- 同时可以看 msdn:

http://msdn.microsoft.com/zh-cn/library/system.componentmodel.inotifypropertychanged(v=vs.100).ASPX

或者你学习 c# 时的入门书,看看这个接口。这是必须讲解、必须熟记的.net知识。
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,