WinForm程序关闭窗体后杀死进程

调用this.Close();后监听Browser_FormClosed加作处理

this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.Browser_FormClosed); 

private void Browser_FormClosed(object sender, FormClosedEventArgs e)
 {
     System.Diagnostics.Process process = System.Diagnostics.Process.GetProcessById(Process.GetCurrentProcess().Id);
     process.Kill();
 }
时间: 2024-11-05 12:35:50

WinForm程序关闭窗体后杀死进程的相关文章

关闭窗体后,进程仍然在运行的问题重现与解决

1 问题陈述 在开发中,遇到这样一个问题: 点击程序主窗体右上角的叉号关闭应用程序后,程序的进程却没有关闭. 通过查阅资料,了解到,产生此类问题的原因主要有以下两点: 1)程序中存在死循环. 2)程序为多线程程序,且在窗体关闭后,仍有线程在工作. 本文将针对此类问题,进行重现并提出解决方案. 2 场景再现 @场景1 新建Windows应用程序CloseWindowExp,程序每隔一秒钟改变一次窗体的背景色. 程序运行后的效果,如下图所示(变化的过程,就请大家在脑子中想象一下吧). 程序的主要代码

WinForm显示关闭窗体特效封装

1.代码结构截图 2.核心代码 using System; using System.Drawing; using System.Windows.Forms; namespace AnimationForm { /// <summary> /// WinForm常用的几种显示特效 /// LDH @ 2018-2-25 /// </summary> public partial class FrmMain : Form { #region Constructor public Fr

C# Winform程序以及窗体运行的唯一性汇总

经常看到有人讨论程序运行唯一性或者窗体运行的唯一性问题.我之前也写了一些文章,在此把它进行整理汇总. 如果是程序的唯一性问题,我之前的一篇文章已经写得很全面,可以参看. C# Winform如何使自己的程序只运行一次 如果是MDI子窗体的话,那么我最近的一篇文章提到的两种方法都不错,可以参看. C# Winform如何在MDI中使子窗体只保留一个实例 如果不是MDI子窗体的话,而是一般窗体的话,其实要做到唯一打开的话,其实也是很简单的,需要在窗体中去做一些简单代码即可了. 如下就用一个名叫“fr

winform程序关闭界面时弹出提示框

void Form1_FormClosing(object sender, FormClosingEventArgs e){ if (MessageBox.Show( "窗口关闭后,数据即将丢失!是否现在关闭窗口", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) != DialogResult.OK) { e.Cancel = true; return; }}

c# winfrom应用程序关闭任务管理器中的进程

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Diagnostics; namespace ProcessKill {     public parti

关闭窗体后,利用StreamWriter保存控件里面的数据

以保存DataGridView里面的数据为例: 通过窗体增加的数据,没有用数据库保存,可以使用StreamWriter将数据存在临时文件里面,再次打开窗体时写入即可. private void Form1_FormClosing(object sender, FormClosingEventArgs e) { //需要将集合中的数据存储 using (StreamWriter sw=new StreamWriter("save.txt")) { foreach (var item in

C# WinForm程序添加引用后调用静态方法时报“Interfaces_Helper.Global”的类型初始值设定项引发异常。---&gt; System.NullReferenceException: 未将对象引用设置到对象的实例。

出现原因: 因为Global类初始化某个静态变量时没有成功则会抛 System.NullReferenceException 异常,具体代码: public static string connstring = System.Configuration.ConfigurationManager.ConnectionStrings["SqlConnStr"].ConnectionString; 解决办法: 在WinForm中添加一个app.config和Interfaces_Helper

C#winform程序关闭计算机的正确姿势

/// <summary> /// 计算机电源控制类 /// </summary> public class EnvironmentCheckClass { [DllImport("user32.dll")] static extern bool ExitWindowsEx(ExitWindows uFlags, ShutdownReason dwReason); [DllImport("kernel32.dll", ExactSpellin

winform程序限制只能打开一个进程

今天有幸被召回母校给即将毕业的学弟学妹们讲我这两年的工作史,看了下母校没啥特别的变化,就是寝室都安了空调,学妹们都非常漂亮而已..好了不扯蛋了,说下今天的主题吧.这些天我在深度定制语法高亮功能的同时发现了博客园提供的一些有意思的函数,甚至有几个博客园都没用到,我也不知道怎么才能触发那些功能..打开这个js就可以看到很多好用的东西了,虽然写的不怎么样,但是至少有这些功能. ps: 推荐安装一个代码格式化的插件,否则一坨看着蛋疼.比如第一个就是 log,方便调试. http://www.klxsw.