C#只打开一个窗口(程序)

控制窗口打开一次   private void mybutton_add_Click(object sender, EventArgs e) 

    FormCollection form_is_running = Application.OpenForms; 
    if (form_is_running["Form_add"] != null) 
    { 
        (form_is_running["Form_add"] as Form).Focus(); 
    } 
    else 
    { 
        Form_add form_add = new Form_add(); 
        form_add.Show(); 
    } 

控制程序只运行一次
Class  Form1:Form 

        public Mutex mymutex; 
//-------------------------------在构造函数中加入 
        public Form1()  
        { 
         mymutex = new Mutex(false, "SINGLE_INSTANCE_MUTEX"); 
         if (!mymutex.WaitOne(0, false))  
         { 
             mymutex.Close(); 
             mymutex = null; 
         } 
        } 
}  
//_-------------------------------Dispose方法中加入一行 
 
       protected override void Dispose(bool disposing) 
        { 
            if (disposing && (components != null)) 
            { 
                components.Dispose(); 
                mymutex.ReleaseMutex(); //---------此行 
            } 
            base.Dispose(disposing); 
        } 
 
//----------------------------------Main方法中,如果是不同类,请建立实例。  
   static class Program 
    { 
        /// <summary> 
        /// The main entry point for the application. 
        /// </summary> 
        ///  
        /// 
        [STAThread] 
        static void Main() 
        { 
            Application.EnableVisualStyles(); 
            Application.SetCompatibleTextRenderingDefault(false); 
            Form1 form1 = new Form1(); 
            if (form1.mymutex != null)  
            Application.Run(form1); 
        } 
    } 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

皮特大熊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值