重载均与委托不匹配?

juso2011 2011-12-09 04:47:44
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”不匹配
...全文
402 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
Closing的定义是
public delegate void CancelEventHandler(object sender, CancelEventArgs e);


根本不是什么 FormClosingEventArgs。你把它跟FormClosing搞混了。
sdl2005lyx 2011-12-09
  • 打赏
  • 举报
回复
在 .NET Framework 版本 2.0 中,Closing 事件已过时,请改用 FormClosing 事件。

private void Form1_FormClosing(Object sender, FormClosingEventArgs e)
{
kingdom_0 2011-12-09
  • 打赏
  • 举报
回复
this.Closing += 后面的代码让VS自动生成,按Tab键
之后看下参数类型,应该就能找到问题了
小赖赖 2011-12-09
  • 打赏
  • 举报
回复
this.Closing += new CancelEventHandler (Form1_FormClosing);
这东西可以让系统帮忙生成
在Form的事件里面找Closing,点下,就自动添加了
cancerser 2011-12-09
  • 打赏
  • 举报
回复
CancelEventHandler 定义是什么

应该是参数没对上
juso2011 2011-12-09
  • 打赏
  • 举报
回复
谢谢ls,但试过了没有用
cnfixit 2011-12-09
  • 打赏
  • 举报
回复

this.FormClosing += new FormClosingEventHandler(Form1_FormClosing);

110,545

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧