c# 关闭窗体时formclosed事件不执行

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c# 关闭窗体时formclosed事件不执行相关的知识,希望对你有一定的参考价值。

怎么回事?
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

using System.Collections;

namespace WindowsApplication1

public partial class wints : Form

public main mymain;
public wints()

InitializeComponent();


private void wints_FormClosed(object sender, FormClosedEventArgs e)


mymain.Show();



这是代码,我在formclose事件处设置断点,关闭时根本不执行

第一:mymain.Show(),应该是一个方法来的吧?你的想法就是在关闭了窗体的时候show()出来是吧?
那么show()出来的是什么呢 ?mymain是什么呢?
第二:wints_FormClosed(object sender,FormClosedEventArgs e)这个事件是当窗体关闭了之后才触发动作。
或者你先把可以用这个事件来试一下:
wints_FormClosing(object sender,FormClosingEventArgs e)//事件是当发生关闭窗体事件的时候触发。可以加个断点来判断来看执行没有

mymain.Show();
参考技术A 不是不执行啊,如果你调试就会发现,已经执行了,只是不显示你那个窗体而已,也根本不能显示的 参考技术B 楼主你调试过吗? 参考技术C 方法是有不知道喝时间是否有联系事件容易掉 参考技术D 这个可能就是你的操作不正确,事件是怎么添的?代码是怎么写的?不执行这事是不可能的,原因一个你的操作问题,检查一下

c #关闭窗口没有触发FormClosing事件是怎么回事啊?

private void Form1_FormClosing(object sender,FormClosingEventArgs e)

DialogResult dr = MessageBox.show("是否关闭窗体","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Warning);
if(dr==DialogResult.Yes)

e.Cancel = false;

else

e.Cancel = true;



如上,我关闭窗口时根本没有弹出提示框,直接关掉了,也就是说关闭窗口时没有执行这个方法,这是怎么回事呢?是不是要设置什么啊

参考技术A         public Form1()
        
            InitializeComponent();
            //加上下面这句试试
            this.FormClosing += new FormClosingEventHandler(this.Form1_FormClosing);
        

本回答被提问者和网友采纳
参考技术B 是不是关闭的窗体不对,或者是关闭事件没有绑定到这个处理方法,只能是这两个原因了追问

就一个窗体,应该是后面的原因,请问怎么绑定到这个处理方法呢

追答

找到事件属性那个窗口,看看绑定没有

以上是关于c# 关闭窗体时formclosed事件不执行的主要内容,如果未能解决你的问题,请参考以下文章

c #关闭窗口没有触发FormClosing事件是怎么回事啊?

WINFORM Application.Exit()

winform问题,close()方法能关闭窗体吗?谢谢 c#

窗体关闭事件

如何在 C# windows 窗体中使用事件作为方法?

c#单击关闭按钮事件