Winform程序全部关闭代码(C#)

  我们在写winform程序时,经常会使用在一个窗口中通过点击产生另外一个窗口,原来的窗口通过this.hide()代码而隐藏。紧接着可能我们直接关闭第二层窗口来结束程序,但是调试过程中会发现我们的程序并没有正常关闭,而是到了后台运行,这样的程序如果做出软件来使用,就会造成内存资源大量占用而产生浪费,下面的代码就是解决这一问题:

/// <summary>
/// 关闭程序
/// </summary>
protected override void WndProc(ref Message m)
{
   const int WM_SYSCOMMAND = 0x0112;
   const int SC_CLOSE = 0xF060;
   if (m.Msg == WM_SYSCOMMAND && (int)m.WParam == SC_CLOSE)
   {
       Application.Exit();
    }
    base.WndProc(ref m);
}

如何使用上面的代码:在哪个窗口中想要实现关闭这一窗口就结束整个程序,就将这个函数放在该窗口的cs程序中,不需要做其他任何操作,也不需要从其他地方引用。

是不是很神奇!!!

原文地址:https://www.cnblogs.com/lucky-willie/p/12254816.html

时间: 2024-11-11 16:21:16

Winform程序全部关闭代码(C#)的相关文章

C# WinForm程序执行JS代码的多种方法

方法一 使用微软官方组件Interop.MSScriptControl 1.msscript.ocx下载的地址   http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=D05FCF37-4D9F-4769-9442-0BCEEF907033 或者点击此处下载 Interop.MSScriptControl.dll 2.项目中引用 msscript.ocx 或者 Interop.MSScriptCon

WinForm程序执行JS代码的多种方法以及使用WebBrowser与JS交互

原文地址:http://www.cnblogs.com/feiyuhuo/p/5474790.html 方法一 使用微软官方组件Interop.MSScriptControl 1.msscript.ocx下载的地址   http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=D05FCF37-4D9F-4769-9442-0BCEEF907033 或者点击此处下载 Interop.MSScriptCon

Windows编程 - 开启/关闭/遍历程序的类 代码(C++)

开启/关闭/遍历程序的类 代码(C++) 本文地址: http://blog.csdn.net/caroline_wendy 类包含4个函数, 启动程序, 遍历所有进程, 关闭程序, 遍历进程依赖的动态链接库. 示例: Image.exe是预先生成的可执行程序(exe), 启动程序, 间隔5秒, 关闭程序. 使用方法参加测试程序. 代码: /* * process.h * * Created on: 2014.06.08 * Author: Spike */ /*vs 2012*/ #ifnde

winform退出或关闭窗体时弹窗提示代码:转

winform退出或关闭窗体时弹窗提示代码,当我们点击窗体的 X 按钮时,会弹出一个对话框,询问我们是直接退出,还是最小化到托盘,还是取消这个行为.或是是否保存当前修改等等.以下以最小化到托盘为例.        首先, 要确定已经将控件NotifyIcon拖到应用窗体中,属性name为notifyicon1. 然后, 双击窗体的FormClosing的事件 ,具码内容如下: private void Form1_FormClosing(object sender, FormClosingEve

C#中WinForm程序退出方法技巧总结(转)

本文实例总结了C#中WinForm程序退出方法技巧.分享给大家供大家参考.具体分析如下: 在c#中退出WinForm程序包括有很多方法,如:this.Close(); Application.Exit();Application.ExitThread(); System.Environment.Exit(0); 等他们各自的方法不一样,下面我们就来详细介绍一下. 1.this.Close();   只是关闭当前窗口,若不是主窗体的话,是无法退出程序的,另外若有托管线程(非主线程),也无法干净地退

WinForm 程序加管理员权限

在Vista 和 Windows 7 及更新版本的操作系统,增加了 UAC(用户账户控制) 的安全机制,如果 UAC 被打开,用户即使以管理员权限登录,其应用程序默认情况下也无法对系统目录.系统注册表等可能影响系统正常运行的设置进行写操作.这个机制大大增强了系统的安全性,但对应用程序开发者来说,我们不能强迫用户去关闭UAC,但有时我们开发的应用程序又需要以 Administrator 的方式运行,如何实现这样的功能呢?下面演示 C# 程序如何实现提示用户以管理员权限运行. 本例以WinForm程

C#中WinForm程序退出方法技巧(转载)

原文链接:http://www.jb51.net/article/58816.htm 本文实例总结了C#中WinForm程序退出方法技巧.分享给大家供大家参考.具体分析如下: 在c#中退出WinForm程序包括有很多方法,如:this.Close(); Application.Exit();Application.ExitThread(); System.Environment.Exit(0); 等他们各自的方法不一样,下面我们就来详细介绍一下. 1.this.Close();   只是关闭当前

C#中WinForm程序退出方法技巧总结 (转)

一.关闭窗体 在c#中退出WinForm程序包括有很多方法,如:this.Close(); Application.Exit();Application.ExitThread(); System.Environment.Exit(0); 等他们各自的方法不一样,下面我们就来详细介绍一下. 1.this.Close();   只是关闭当前窗口,若不是主窗体的话,是无法退出程序的,另外若有托管线程(非主线程),也无法干净地退出: 2.Application.Exit();  强制所有消息中止,退出所

winForm程序开机启动和托盘显示,并允许一个程序运行

1.建一个WinForm程序—TestIconForm,将其属性ShowInTaskbar改为false,这样程序将不会在任务栏中显示:将MaximizeBox属性设置为false,屏蔽掉最大化按钮:把StartPosition属性改为CerternScreen,这样程序运行后,窗口将会居中显示. 2.在工具栏中的公共控件里,拖入NotifyIcon控件—NotifyIcon1,这个是程序运行任务栏右侧通知区域图标显示控件. 3.在工具栏中的菜单和工具栏里,拖入ContextMenuStrip—