代码如下!为什么我写的事件不执行那!    public partial class Form1 : Form
    {
       public delegate void CustomEventHandler(object sender, EventArgs e);//首先定义一个委托类型的对象CustomEventHandler
        //用delegate数据类型声明事件,要用event关键字,这里定义了两个字件;
        public event CustomEventHandler CustomEvent;        public Form1()
        {
            InitializeComponent();
        }        private void Form1_Load(object sender, EventArgs e)
        {
            CustomEvent += new CustomEventHandler(Form1_CustomEvent);
        }        void Form1_CustomEvent(object sender, EventArgs e)
        {
            MessageBox.Show("工程");//这里为什么不执行那!
        }
    }

解决方案 »

  1.   

    触发:
    if (CustomEvent!=null)
        CustomEvent(something, something);
      

  2.   

        public partial class Form1 : Form
        {
           public delegate void CustomEventHandler(object sender, EventArgs e);//首先定义一个委托类型的对象CustomEventHandler
            //用delegate数据类型声明事件,要用event关键字,这里定义了两个字件;
            public event CustomEventHandler CustomEvent;        public Form1()
            {
                InitializeComponent();
                CustomEvent += new CustomEventHandler(Form1_CustomEvent);//订阅事件
            }
            protected virtual void OnCustomEvent(EventArgs e)
            {
            CustomEventHandler ceh=CustomEvent;
            if(ceh!=null)
            {
               ceh(this,e);
            }
            }        private void Form1_Load(object sender, EventArgs e)
            {
              OnCustomEvent(e);//触发事件;
            }        void Form1_CustomEvent(object sender, EventArgs e)
            {
                MessageBox.Show("工程");//这里为什么不执行那!
            }
        }
      

  3.   

    你没触发它啊:        private void Form1_Load(object sender, EventArgs e)
            {
                CustomEvent += new CustomEventHandler(Form1_CustomEvent);
                CustomEvent.Invoke(sender,e);
            }
      

  4.   

    没执行因为你没有写事件触发,同时也没有触发事件. 
            public delegate void CustomEventHandler(object o, EventArgs e);
            public  event CustomEventHandler CustomEvent;        public void OnCustomEvent() //事件触发函数
            {
                CustomEventHandler custom= CustomEvent;
                if (custom != null)
                {
                    custom(this, EventArgs.Empty);
                }
            }        private void Form1_Load(object sender, EventArgs e)
            {
                this.CustomEvent += this.StartCustomEvent;            
            }        private void StartCustomEvent(object sender, EventArgs e)
            {
                MessageBox.Show("我跟你爸爸是双胞胎!","猜猜叫我啥?");
            }        private void button1_Click(object sender, EventArgs e)
            {
                OnCustomEvent(); //在你想触发事件CustomEvent的地方添加OnCustomEvent();这里就没怎么处理参数(sender ,e );
            }
      

  5.   

     public partial class Form1 : Form
        {
           public delegate void CustomEventHandler(object sender, EventArgs e);//首先定义一个委托类型的对象CustomEventHandler
            //用delegate数据类型声明事件,要用event关键字,这里定义了两个字件;
            public event CustomEventHandler CustomEvent;        public Form1()
            {
                InitializeComponent();
            }        private void Form1_Load(object sender, EventArgs e)
            {
                CustomEvent += new CustomEventHandler(Form1_CustomEvent);            CustomEvent(sender,e); //这里调用下委托就会执行需要的方法了
            }        void Form1_CustomEvent(object sender, EventArgs e)
            {
                MessageBox.Show("工程");//这里为什么不执行那!
            }
        }
      

  6.   

    find my  可用分等级
      

  7.   

    窗体上看到的事件还不是靠后台的那些API在搞,API通过获取消息来引发那些事件
    和你直接写个方法 来调用没啥不一样