日期:2014-05-17  浏览次数:20793 次

为什么承继后重写的事件会触发两次?


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace WindowsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        public virtual void button1_Click(object sender, EventArgs e) //祖先窗口的事件
        {
            MessageBox.Show("祖先的事件!。");
        }
    }
}



//继承自Form1窗口

namespace WindowsApplication1
{
    public partial class Form2 : WindowsApplication1.Form1
    {
        public Form2()
        {
            InitializeComponent();
        }

        public override void button1_Click(object sender, EventArgs e)//重写了原来的事件
        {
            MessageBox.Show("继承后的事件!");//这个事件为什么会触发两次????
        }
    }
}



继承 事件 对象

------解决方案--------------------
因为button1_Click被绑定了两次,不信你自己找找看
------解决方案--------------------
button本身那个click事件没有删除吧!
------解决方案--------------------