我是C#新手,今天遇到了一个错误。
我正在Visual Studio 2013中用Visual C#制作一个Windows Form应用程序。在项目的"Form1 [设计]"选项卡中,我添加了一个 MenuStrip,然后在其中创建了"新建"和"退出"项。
当我按下"退出"按钮(此处标识为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;
}
}
当我尝试运行它时,出现一个错误,说:
"quitterLapplicationToolStripMenuItem_Click"匹配项无过载 委托"系统.事件处理程序"
哦,这是导致错误的行:
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)