黑马程序员技术交流社区

标题: 一个WinForm在关闭的时候 [打印本页]

作者: 董超    时间: 2012-5-26 09:57
标题: 一个WinForm在关闭的时候
    做了一个WinForm程序,但是想让它在关闭的时候自动执行一些东西,需要怎么做,比如说 关闭的时候自动保存之类的!

作者: 朱亮辉    时间: 2012-5-26 16:19
protected override void OnClosed(EventArgs e)
   {
            MessageBox.Show("我正在关闭啊!");
   }

重写.NET的OnClosed方法,上面是一个简单的例子!
作者: 蒋春    时间: 2012-5-31 10:44
你可以通过窗体的FormClosing事件,此事件是窗体关闭前激发
还可以使用FormClosed事件,此事件是窗体关闭后激发
两种事件还是有差别的
作者: 钟广雄    时间: 2012-6-7 22:16
public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            //关闭之前要执行的代码
        }

        private void Form1_FormClosed(object sender, FormClosedEventArgs e)
        {
            //关闭之后要执行的代码
        }
    }
作者: 许庭洲    时间: 2012-6-8 09:01
可以用一个 if 语句进行判断:
if(WinForm程序关闭)
{
  //执行数据自动保存
}
else
{
   //不执行数据自动保存
}
作者: 王国文    时间: 2012-6-8 10:08
朱亮辉 发表于 2012-5-26 16:19
protected override void OnClosed(EventArgs e)
   {
            MessageBox.Show("我正在关闭啊!");

哥们你很强,protecte能不能改成  public或者private
作者: 王国文    时间: 2012-6-8 10:08
朱亮辉 发表于 2012-5-26 16:19
protected override void OnClosed(EventArgs e)
   {
            MessageBox.Show("我正在关闭啊!");

哥们你很强,protecte能不能改成  public或者private
作者: 朱亮辉    时间: 2012-6-8 10:24
王国文 发表于 2012-6-8 10:08
哥们你很强,protecte能不能改成  public或者private

你自己可以试一下啊!
作者: G_Xiaotao    时间: 2012-6-8 12:10
王国文 发表于 2012-6-8 10:08
哥们你很强,protecte能不能改成  public或者private

这个试试自己不就知道了啊!  呵呵 

作者: G_Xiaotao    时间: 2012-6-8 12:11
可以用窗体的Fromclosing时间 来操作!!就可以的哈!
作者: ☆丿灬北纬28°    时间: 2012-6-8 13:21
在事件FormClosing中写入想做的事情
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            //这写入你想做的事情,在关闭之前系统会做的
     }


作者: 孙玉昌    时间: 2012-6-12 09:08
复写窗体关闭事件,在复写的方法体里写你要执行的动作。
作者: 黑马-许泽宇    时间: 2012-6-12 12:20
点击窗体。属性。事件。在FormClosing里写对应代码就行
作者: 吴伟烈    时间: 2012-6-19 21:02
当应用程序关闭时,主窗体的关闭事件按以下顺序引发:

1、System.Windows.Forms.Form.Closing
  在关闭窗体时发生
  注意:在 .NET Framework 版本 2.0 中,Closing 事件已过时,应改用 FormClosing 事件。

2、System.Windows.Forms.Form.FormClosing
  在关闭窗体前发生,此时可以取消窗体的关闭。

3、System.Windows.Forms.Form.Closed
  关闭窗体后发生
  注意:在 .NET Framework 版本 2.0 中,Closed 事件已过时,应改用 FormClosed 事件。

4、System.Windows.Forms.Form.FormClosed
  关闭窗体后发生

5、System.Windows.Forms.Form.Deactivate
  当窗体失去焦点并不再是活动窗体时发生

注意:当调用 Application.Exit 方法以退出应用程序时,不引发 Form.Closed 和 Form.Closing 事件,但是会激发 Form.FormClosed 和 Form.FormClosing 事件。





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2