按 MenuStripItem 退出应用程序

Quit application on MenuStripItem press

我是 C# 的新手,我 运行 今天遇到了一个错误。

我在 Visual Studio 2013 年在 Visual C# 中制作了一个 Windows 表单应用程序。 在项目的 "Form1 [Design]" 选项卡中,我添加了一个 MenuStrip,然后在其中创建了一个 "New" 和 "Quit" 项。

当我按下 "Quit" 按钮(此处标识为 quitterLapplicationToolStripMenuItem,由 VS2013 自动生成)时,我将此代码 运行 :

private void quitterLapplicationToolStripMenuItem_Click(object sender, CancelEventArgs c, EventArgs e)
{
    DialogResult resultat = MessageBox.Show("Close?" + Environment.NewLine + Environment.NewLine + "Really ? No more notifications ?", "Closing", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
    if (resultat == DialogResult.Yes)
    {
        MessageBox.Show("Prog stopped correctly", "Quit");
        Application.Exit();
    }
    else
    {
        c.Cancel = true;
        this.WindowState = FormWindowState.Minimized;
        this.ShowInTaskbar = false;
    }
}

当我尝试 运行 时,出现错误,提示:

No overload for 'quitterLapplicationToolStripMenuItem_Click' matches delegate 'System.EventHandler'

哦,这是导致错误的行:

this.quitterLapplicationToolStripMenuItem.Click += new System.EventHandler(this.quitterLapplicationToolStripMenuItem_Click);

我能做什么?我被困住了,我没有找到任何可以帮助我的东西(而且我能理解)

替换:

(object sender, CancelEventArgs c, EventArgs e)

(object sender, EventArgs e)

该方法的参数不正确:您有两种不同方法签名的大杂烩。

应该是:

private void quitterLapplicationToolStripMenuItem_Click(object sender, CancelEventArgs c)

private void quitterLapplicationToolStripMenuItem_Click(object sender, EventArgs e)