C# Winform防止闪频和再次运行

using System;
using System.Collections.Generic;
using System.Windows.Forms;

namespace pm_sjz_gupiao
{
    static class Program
    {
        /// <summary>
        /// 应用程序的主入口点。
        /// </summary>
        [STAThread]
        static void Main()
        {
            bool flag;

            System.Threading.Mutex mutex = new System.Threading.Mutex(true,Application.ProductName,out flag);

            if (flag)
            {
                //启用应用程序的可视样式
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false); 

                //处理当前在消息队列中所有windows消息

                Application.DoEvents();
                Application.Run(new login());//http://weili.ooopic.com/weili_1130951.html

                //释放  Mutex 一次
                mutex.ReleaseMutex();
            }
            else
            {
                MessageBox.Show(null, "咨询通已经在运行,\n\n这个程序即将退出!", "咨询通 提示", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                Application.Exit();
            }

        }
    }
}
时间: 2024-11-14 13:46:31

C# Winform防止闪频和再次运行的相关文章

Advanced Installer 打包后,安装包在WIN10下重启后再次运行安装的解决办法

原文:Advanced Installer 打包后,安装包在WIN10下重启后再次运行安装的解决办法 前几个月使用Advanced Installer 打包了一堆安装包,其中有使用默认主题的,也有根据UI设计更改过一些功能的,当时在Windows7下测试没有任何问题,就直接上线给用户使用了. 这两天在禅道上发现指派了一个BUG过来,描述的内容是在Windows10下安装包会出现重启后再次自动运行的问题,见鬼了,没有写过自启动注册表啊,马上打开工程查看,发现了一个很奇怪的现象,下面来介绍. 1.当

在ASP.NET MVC中使用NuGet添加SignalR类库之后,再次运行程序时,它出现了一个异常:

自从在ASP.NET MVC中使用NuGet添加SignalR类库之后,再次运行程序时,它出现了一个异常: Server Error in '/' Application. The following errors occurred while attempting to load the app.- No assembly found containing an OwinStartupAttribute.- No assembly found containing a Startup or [

WinForm限制客户程序只能运行一个实例

WinForm限制客户程序只能运行一个实例: using System; using System.Threading; static void Main() { bool create = false; using (Mutex mu = new Mutex(true, Application.ProductName, out create)) { if (create) { Application.Run( new MainForm() ); } else { MessageBox.Show

c# 控制职能运行单一实例,再次运行显示已经运行的实例

有这么个需求,软件只能运行一个实例,软件运行后可以让其隐藏运行 再次运行这个软件的时候就让正在运行的实例显示出来 ================================= 当软件隐藏后没办法拿到句柄 于是只有第一次运行的时候讲句柄保存下来,于是有了下面的 1 private void HideForm() 2 { 3 string handlestr = System.Diagnostics.Process.GetCurrentProcess().MainWindowHandle.To

Python问题求助--如何将循环程序中每次输入的数据循环使用,即退出当前循环程序后,再次运行该循环程序时可以使用原先输入的数据信息?

1 card_list = [] 2 3 4 def main_desk(): 5 print('*'*50) 6 print('欢迎使用[名片管理系统]V1.0') 7 print('1.新建名片') 8 print('2.显示全部') 9 print('3.查询名片') 10 print('0.退出系统') 11 print('*'*50) 12 13 14 def new_card(): 15 print('新建名片') 16 print('='*50) 17 name_str = inp

【翻译】如何在AJAX生成的内容中再次运行Prism.js

一.前言 最近用一个十分轻量级的网页代码高亮Js库,应用到项目中发现了一个问题,对于静态的已经写好的代码,Prism的高亮插件是没有问题的,但是通过Ajax异步获取数据并修改DOM时发现,Prism高亮插件失效了,经过各种调试还是没办法解决,最后终于找到了解决办法.原文是英文版的,我做了简要的翻译,如有不妥之处还请指出.以下是原文地址: http://schier.co/blog/2013/01/07/how-to-re-run-prismjs-on-ajax-content.html 原标题:

SQL Server 安装程序无法获取 ASPNET 帐户的系统帐户信息。若要继续,请重新安装 .NET Framework,然后再次运行 SQL Server 安装程序。

标题: Microsoft SQL Server 安装程序------------------------------ 有关帮助信息,请单击: http://go.microsoft.com/fwlink?LinkID=20476&ProdName=Microsoft+SQL+Server&ProdVer=9.00.1399.06&EvtSrc=setup.rll&EvtID=SQLSetup90&EvtType=28126 --------------------

android studio学习---怎么创建一个新的module并且再次运行起来(在当前的project里面)

选择File->new module出现的界面,选择android application选择下一步,就出现了和刚刚一样的流程了,一步步创建完成即可. 我们看到多了个secondAndroid的项目. 如何运行呢,选择的edit configurations,点击左边的绿色“+”号,选择android application. 出现下图情况, 填写name,选择module,以及模拟器,然后就可以选择你要运行的应用运行起来即可.

linux如何再次运行那个很久之前曾用过的命令---历史命令搜索方法

linux shell命令一般附带很多参数,如果你现在想运行一个很久之前用过的命令,但当时用的参数怎么也技艺不起来了,怎么办?如果用上箭头向前翻动会累死驴的吆!万能的linux真是太方便了,一行命令搞定: $history | grep 命令名字参数等你能记忆到的字符串