c#在vs2005如何实现关闭窗口事件(closing事件)

c#在vs2005如何实现关闭窗口事件(closing事件),第1张

您好,

在C#中,窗口关闭的事件是FormClosing而不是Closing,因此您需要这样的代码:

private void button1_Click(object sender, EventArgs e)

{

this.FormClosing += new FormClosingEventHandler(Form1_FormClosing)

}

void Form1_FormClosing(object sender, FormClosingEventArgs e)

{

if (MessageBox.Show("Are you sure?","Application",MessageBoxButtons.YesNo,MessageBoxIcon.Information)==DialogResult.No)

{

e.Cancel = true

}

}

希望对您有帮助。

在关闭事件里加入: DialogResult drdr = MessageBox.Show("确定要退出吗?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question)if (dr == DialogResult.OK) { e.Cancel = false} else { e.Cancel = true}

最安全的做法是委托,委托就不需要找对象。比如我想再B窗体里面关闭C窗体,他们之间都找不到对象,对象在A里面实例化的,怎么办?委托就要用上了。

在B里面写委托主体申明,然后赋予事件主体。

public delegete void close

public static event close close_c

B的按钮事件中加入:

close_c()

C的窗体启动事件中订阅事件:

B.close_c+=()=>{

Enveroment.Exit(0)

}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11655522.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存