zoukankan      html  css  js  c++  java
  • winform程序不能同时开启两个应用程序的判断以及捕获全局未处理异常

    判断同一程序不能同时启动两个应用的代码:

    在Program中加入如下判断:

                bool bRun = true;
                System.Threading.Mutex m = new System.Threading.Mutex(true, Application.ProductName, out bRun);
                if (bRun)
                {
                    Application.EnableVisualStyles();
                    Application.SetCompatibleTextRenderingDefault(false);
                    Application.Run(new Login());
                    m.ReleaseMutex();
                }
                else
                {
                    MessageBox.Show("该XXXX程序已经运行");
                } 

    然后,我们的程序一般不会捕获到所有的异常,总会由于各种原因造成程序意外停止,而客户往往最厌烦的就是看到这种现象,所以我们可以捕获一下系统中未处理的异常,来防止类似情况的发生,

            static void Main()
            {
                    Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException);
                    Application.EnableVisualStyles();
                    Application.SetCompatibleTextRenderingDefault(false);
                    Application.Run(new Login());
                    m.ReleaseMutex(); 
            }
            static void Application_ThreadException(object sender, System.Threading.ThreadExceptionEventArgs e)
            {
                MessageBox.Show(e.Exception.Message, "发生异常", MessageBoxButtons.OK, MessageBoxIcon.Information); 
            }
    ThreadException 事件,捕获到未处理异常时发生,所以我们可以在这个事件里处理一下,提示给用户发生的异常。
  • 相关阅读:
    变量可变性问题
    Android 创建Listener监听器形式选择:匿名内部类?外部类?
    linux下安装zookeeper
    翻页工具类
    将哈夫曼树转化成二叉树
    Activity的启动流程分析
    题目1186:打印日期
    数据库设计--数据流图(DFD)
    c#基础之数组
    10.3.1 一个CONNECT BY的样例
  • 原文地址:https://www.cnblogs.com/sulei4471/p/2920669.html
Copyright © 2011-2022 走看看