C#中 FormClosing 方法调用问题

privatevoidNa_Baidu_FormClosing(objectsender,FormClosingEventArgse)//退出提示{if(MessageB... private void Na_Baidu_FormClosing(object sender, FormClosingEventArgs e)//退出提示
{
if (MessageBox.Show(" ", " ",
MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No)
{
e.Cancel = true;
}
} //退出提示

private void lbl_Exit_Click(object sender, EventArgs e)
{
this.FormClosing+=new FormClosingEventHandler(Na_Baidu_FormClosing);
} //退出提示

代码是这样的、为什么我点lbl_Exit时 不会弹出MessageBox对话框
而且每点一下lbl_Exit、等下再点窗口 X 时、就会多弹出一次MessageBox对话框
展开
 我来答
火沙
推荐于2018-05-07 · TA获得超过954个赞
知道小有建树答主
回答量:478
采纳率:0%
帮助的人:397万
展开全部
你在FormLoad里加
this.FormClosing+=new FormClosingEventHandler(Na_Baidu_FormClosing);
这句就行了
private void lbl_Exit_Click(object sender, EventArgs e)
{
this.Close();
}
===========================
点lbl_Exit时,又不关闭,怎么会弹出 对话框呢!
每点一下lbl_Exit就绑定一次关闭事件,所以你点多少下lbl_Exit,再点窗口 X 时,就会弹出多少次对话框
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lu_hua
2009-07-30 · TA获得超过238个赞
知道小有建树答主
回答量:337
采纳率:0%
帮助的人:0
展开全部
private void lbl_Exit_Click(object sender, EventArgs e)
{
Application.Exit();
}

你那个只是个绑定关闭事件的操作,因为这个 +=new 所以你每次点一下他就多绑定一次,你绑定几次关闭是就运行几次,所以会弹出几次MessageBox对话框。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bd_xiejiaer
2009-07-30 · 超过14用户采纳过TA的回答
知道答主
回答量:105
采纳率:0%
帮助的人:0
展开全部
DialogResult result;
result = MessageBox.Show("确定退出?","提示",MessageBoxButtons.YesNo);
if (result == DialogResult.Yes)
{
e.Cancel = false;
}
else
{
e.Cancel = true;
}

在formClsoing中试试这个呢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式