深入理解C#窗体关闭事件

目录
  • 1、第一步
  • 2、第二步
  • 3、最后可以检查一下设计designer.cs的文件看看对不对

很多初学者都想把默认的C#关闭按钮事件弄明白,主要用在我想关闭窗口但是我还想在关闭前有一个提示,可是网上真的有太多的答案都是错的,今天在这里从头到尾给大家设置一下,希望可以帮到大家。

1、第一步

2、第二步

名号命名好后,双击这个名字就可以对这个事件进行编辑了,找不到的就可以进入.cs文件自己查看

 private  void frmMom_FormClosing(object sender, FormClosingEventArgs e)
    {

        DialogResult result = MessageBox.Show("你确定要关闭吗!", "提示信息", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);
        if (result == DialogResult.OK)
        {
            Console.WriteLine("1");
            e.Cancel = false;
           //点击OK
        }
        else
        {

            Console.WriteLine("2");
            e.Cancel = true;
        }
    }

3、最后可以检查一下设计designer.cs的文件看看对不对

this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.frmMom_FormClosing);

this.frmMom_FormClosing不能和FormClosing 重名否则报错,记住啊
还有一个属性就是FormClosed,这个方法是用在关闭页面后你想执行的方法,比如关闭页面后关闭一个服务之类的。

C# 使用多线程,在关闭窗体时 怎么关闭窗体的所有线程,使程序退出。

  • this.Close(); 只是关闭当前窗口,若不是主窗体的话,是无法退出程序的,另外若有托管线程(非主线程),也无法干净地退出;
  • Application.Exit(); 强制所有消息中止,退出所有的窗体,但是若有托管线程(非主线程),也无法干净地退出;
  • Application.ExitThread(); 强制中止调用线程上的所有消息,同样面临其它线程无法正确退出的问题;
  • System.Environment.Exit(0); 这是最彻底的退出方式,不管什么线程都被强制退出,把程序结束的很干净。
  • Thread_VIEW.Abort(); 关闭Thread_VIEW线程
  • Thread_SAVE.Abort(); 关闭Thread_SAVE线程

到此这篇关于深入理解C#窗体关闭事件的文章就介绍到这了,更多相关C#窗体关闭事件内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • C#定时关闭窗体实例

    本文实例讲述了C#定时关闭窗体的方法,分享给大家供大家参考.具体方法如下: 复制代码 代码如下: public partial class Form2 : Form  {  private System.Timers.Timer timer = new System.Timers.Timer(); public Form2()  {      InitializeComponent();      InitStatus();      timer.Interval = 4000;      ti

  • c# 关闭窗体时提示的小例子

    复制代码 代码如下: private void WorkflowConfigure_FormClosing(object sender, FormClosingEventArgs e)        { DialogResult result = MessageBox.Show("此操作会丢弃您的当前设置,确定要继续?", "退出", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (DialogResul

  • C#最简单的关闭子窗体更新父窗体的实现方法

    主窗体Form1关键代码: 将子窗体最为对话框模式弹出,当窗体关闭或取消时更新主窗体 复制代码 代码如下: private void simpleButton1_Click(object sender, EventArgs e) { Form2 f2 = new Form2(); f2.Owner = this; DialogResult result=f2.ShowDialog(); if (result == DialogResult.Cancel) { this.gridControl1.

  • C#窗体编程不显示最小化、最大化、关闭按钮的方法

    本文介绍在C#窗体编程时,如何设置不显示右上角的最小化最大化关闭按钮.可以通过this.ControlBox这个属性的值来控制. 在Windows的窗体编程中,基本上每一个窗体都是一个最小化.最大化和关闭按钮的.见惯了千篇一律,我们有时需要有一点新意,比如来把右上角的这最小化.最大化和关闭三个按钮去掉. 对于最大化和最小化按钮,在C#窗体开发时,各一个属性来启用或禁用这两个按钮.对于最大化来说,this.MaximizeBox=false即可禁用最大化按钮.而这里的this是指窗体对象本身.而t

  • C#中登录窗体和欢迎窗体关闭方法分析

    本文实例分析了C#中登录窗体和欢迎窗体关闭方法.分享给大家供大家参考.具体分析如下: 在c#的winform编程中,我们经常会做登录窗体或欢迎窗体,并把他们作为启动窗体.   但是,我们有可能会遇到一些问题.   请看下面的代码: 复制代码 代码如下: private void button1_Click(object sender, EventArgs e) {     this.Close();     new Form2().Show(); } 这段代码想让form1中的button1在点

  • C#禁用双击窗体图标关闭窗体的方法

    本文实例讲述了C#禁用双击窗体图标关闭窗体的方法.分享给大家供大家参考.具体实现方法如下: [DllImport("user32.dll")] private static extern IntPtr GetSystemMenu(IntPtr hWnd, bool bRevert); protected override void WndProc(ref Message m) { if (m.Msg == 0x112) { if (m.WParam.ToInt32() == 61539

  • 深入理解C#窗体关闭事件

    目录 1.第一步 2.第二步 3.最后可以检查一下设计designer.cs的文件看看对不对 很多初学者都想把默认的C#关闭按钮事件弄明白,主要用在我想关闭窗口但是我还想在关闭前有一个提示,可是网上真的有太多的答案都是错的,今天在这里从头到尾给大家设置一下,希望可以帮到大家. 1.第一步 2.第二步 名号命名好后,双击这个名字就可以对这个事件进行编辑了,找不到的就可以进入.cs文件自己查看 private void frmMom_FormClosing(object sender, FormCl

  • Java Swing窗体关闭事件的调用关系

    Java Swing的窗体和对话框的关闭事件无非就是windowClosing和windowClosed这两个方法,如果要在关闭时进行"是否退出"之类的提示或保存数据等操作时则需要用到这些方法,但到底是该用哪个方法则有一定的讲究. windowClosing用于窗体关闭时被调用,这个时候窗体还处在运行并显示当中,所以为了方便可以把这个方法称为关闭前调用的方法.值得注意的是当我们按下窗体或对话框的的右上角的关闭按钮时此方法会被调用. windowClosed用于窗体被关闭后被调用,一般当

  • winform关闭窗体FormClosing事件用法介绍

    在窗体中有FormClosing这个事件,这个事件是在窗体关闭时候运行的.如果要取消某个事件的操作,那么就在该事件中写上e.Cancel=true就能取消该事件,也就是不执行该事件.所以,你要在窗体关闭时候,跳出一个窗口提示是否关闭窗体,如果选择不关闭,那么写上e.Cancel=true就可以了,如果选择关闭,那么写上e.Cancel=false. 示例代码: using System; using System.Collections.Generic; using System.Compone

  • .NET实现父窗体关闭而不影响子窗体的方法

    一般而言,在传统的VB6中父子窗体(诸如"闪屏"窗体是"父窗体"加载内容,然后启动自动关闭,启动主窗体,是子窗体)的交互中,我们只需按照这样的逻辑"按部照搬"地书写即可(假设"闪屏"窗体设置为启动窗体): SplashScreen.Close() MainForm.Show() 但是在VB.NET或者C#中却不能这样写.因为这样写的结果是闪屏窗体"一闪而过",接着啥也不会出现了. 究其原因,是因为NET中一

  • js关闭浏览器窗口及检查浏览器关闭事件

    js关闭浏览器窗口 js关闭浏览器窗口,不弹出提示框.支持ie6+,火狐,谷歌等浏览器. 复制代码 代码如下: <html> <head /> <body> <script type="text/javascript"> function closeWin(){ window.opener=null; window.open('','_self',''); window.close(); } </script> <a o

  • 理解JavaScript中worker事件api

    如果你不是很了解Event事件,建议先这篇文章<理解javascript中DOM事件>. 首先,我们需要实例一个Worker的对象,浏览器会根据新创建的worker对象新开一个接口,此接口会处理客户端与indexedDB数据库之间的通信.这里的数据库是指浏览器数据库.如果,你需要判断浏览器是否支持worker对象,详见如下代码.或者浏览器是否支持indexedDB数据库,详见同下,二者判断最好选择前者.因为IE不支持indexedDB . if(window.Worker){ dosometh

  • JS针对浏览器窗口关闭事件的监听方法集锦

    本文实例总结了JS针对浏览器窗口关闭事件的监听方法.分享给大家供大家参考,具体如下: 方式一:(适用于IE浏览器,而且刷新不提示,只在点击浏览器关闭按钮的时候提示) <script type="text/javascript"> window.onbeforeunload=onclose; function onclose() { if(event.clientX>document.body.clientWidth&&event.clientY<

  • 深入理解jQuery中的事件冒泡

    1.什么是冒泡 eg: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>事件冒泡</title> <script src="

  • 深入理解JQuery循环绑定事件

    深入理解JQuery循环绑定事件 <html> <head> <title></title> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> </head> <body> <script typ

随机推荐