public Form1()
        {
            InitializeComponent();
           this.Closing += new CancelEventHandler (Form1_FormClosing);          
        }        void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            DialogResult dr = MessageBox.Show("确定退出系统吗?", "退出", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning,MessageBoxDefaultButton.Button2);
            if (dr == DialogResult.OK)
            {
                //
                //在这里请处理相关事务,比如保存等
                //
                //this.Dispose();
                Application.Exit();
            }
            else
            {
                e.Cancel = true;
            }
        }
高手帮我看一下,总是出现错误 “Form1_FormClosing”的重载均与委托“System.ComponentModel.CancelEventHandler”不匹配

解决方案 »

  1.   


    this.FormClosing += new FormClosingEventHandler(Form1_FormClosing);
      

  2.   

    CancelEventHandler 定义是什么应该是参数没对上
      

  3.   

    this.Closing += new CancelEventHandler (Form1_FormClosing);   
    这东西可以让系统帮忙生成
    在Form的事件里面找Closing,点下,就自动添加了
      

  4.   

    this.Closing +=  后面的代码让VS自动生成,按Tab键
    之后看下参数类型,应该就能找到问题了
      

  5.   

    在 .NET Framework 版本 2.0 中,Closing 事件已过时,请改用 FormClosing 事件。private void Form1_FormClosing(Object sender, FormClosingEventArgs e) 
    {
      

  6.   

    Closing的定义是public delegate void CancelEventHandler(object sender, CancelEventArgs e);
    根本不是什么 FormClosingEventArgs。你把它跟FormClosing搞混了。