C#實(shí)現(xiàn)托盤程序并禁止多個(gè)應(yīng)用實(shí)例運(yùn)行的方法
本文實(shí)例講述了C#實(shí)現(xiàn)托盤程序并禁止多個(gè)應(yīng)用實(shí)例運(yùn)行的方法。分享給大家供大家參考,具體如下:
托盤程序的制作:
1.把NotifyIcon控件拉一個(gè)到窗體上,并設(shè)置NotifyIcon的Icon(很重要!否則運(yùn)行后看不到效果)
2.窗體關(guān)閉時(shí),將程序最小化到系統(tǒng)托盤上
private void Form1_FormClosing(object sender, FormClosingEventArgs e) { //MessageBox.Show("程序?qū)⒆钚』较到y(tǒng)托盤區(qū)"); e.Cancel = true; // 取消關(guān)閉窗體 this.Hide(); this.ShowInTaskbar = false;//取消窗體在任務(wù)欄的顯示 this.notifyIcon1.Visible = true;//顯示托盤圖標(biāo) }
3.放一個(gè)上下文菜單,添加幾個(gè)基本項(xiàng),"顯示主窗體","退出" ,將這個(gè)菜單掛到NotifyIcon上
private void menuShow_Click(object sender, EventArgs e) { this.Show(); this.ShowInTaskbar = true; this.notifyIcon1.Visible = false; } private void menuExit_Click(object sender, EventArgs e) { this.Dispose(true); Application.ExitThread(); }
4.左鍵單擊托盤圖標(biāo)時(shí),顯示主窗體,右擊時(shí)當(dāng)然是彈出上面設(shè)置的菜單
private void notifyIcon1_MouseClick(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { this.Show(); this.ShowInTaskbar = true; this.notifyIcon1.Visible = false; } }
防止這個(gè)程序同時(shí)運(yùn)行多個(gè)
using System; using System.Collections.Generic; using System.Windows.Forms; using System.Threading; namespace LuceneTest { static class Program { /// <summary> /// 應(yīng)用程序的主入口點(diǎn)。 /// </summary> [STAThread] static void Main() { bool bCreatedNew; Mutex m = new Mutex(false, "Product_Index_Cntvs", out bCreatedNew); if (bCreatedNew) { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); } } } }
希望本文所述對(duì)大家C#程序設(shè)計(jì)有所幫助。
- C#實(shí)現(xiàn)系統(tǒng)托盤通知的方法
- C#程序最小化到托盤圖標(biāo)操作步驟與實(shí)現(xiàn)代碼
- c# 托盤雙擊不觸發(fā)單擊事件的實(shí)現(xiàn)方法
- C# WinForm窗口最小化到系統(tǒng)托盤
- C#怎樣才能實(shí)現(xiàn)窗體最小化到托盤呢?
- C#中如何獲取文件圖標(biāo)
- C#實(shí)現(xiàn)用戶自定義控件中嵌入自己的圖標(biāo)
- C#實(shí)現(xiàn)帶消息數(shù)的App圖標(biāo)
- C#禁用雙擊窗體圖標(biāo)關(guān)閉窗體的方法
- C#實(shí)現(xiàn)WinForm禁止最大化、最小化、雙擊標(biāo)題欄、雙擊圖標(biāo)等操作的方法
- C#實(shí)現(xiàn)位圖轉(zhuǎn)換成圖標(biāo)的方法
- 用 C# 編寫一個(gè)停放在任務(wù)欄上的圖標(biāo)程序
- C#實(shí)現(xiàn)閃動(dòng)托盤圖標(biāo)效果的方法
相關(guān)文章
WinForm實(shí)現(xiàn)移除控件某個(gè)事件的方法
這篇文章主要介紹了WinForm實(shí)現(xiàn)移除控件某個(gè)事件的方法,對(duì)C#初學(xué)者有一定的借鑒價(jià)值,需要的朋友可以參考下2014-08-08C#微信公眾平臺(tái)開發(fā)之a(chǎn)ccess_token的獲取存儲(chǔ)與更新
這篇文章主要介紹了C#微信公眾平臺(tái)開發(fā)之a(chǎn)ccess_token的獲取存儲(chǔ)與更新的相關(guān)資料,需要的朋友可以參考下2016-03-03C#中的DataTable查詢實(shí)戰(zhàn)教程
這篇文章主要介紹了C#中的DataTable查詢實(shí)戰(zhàn)教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧2021-01-01Unity?制作一個(gè)分?jǐn)?shù)統(tǒng)計(jì)系統(tǒng)
項(xiàng)目中經(jīng)常遇到分?jǐn)?shù)統(tǒng)計(jì)的需求,例如操作正確則計(jì)分,相反則不計(jì)分失去該項(xiàng)分?jǐn)?shù),為了應(yīng)對(duì)需求需要一個(gè)分?jǐn)?shù)統(tǒng)計(jì)系統(tǒng)。本文主要介紹了通過Unity實(shí)現(xiàn)這樣的一個(gè)計(jì)分系統(tǒng),快來(lái)跟隨小編一起學(xué)習(xí)吧2021-12-12WPF中不規(guī)則窗體與WindowsFormsHost控件兼容問題的解決方法
這篇文章主要介紹了WPF中不規(guī)則窗體與WindowsFormsHost控件兼容問題的解決方法,對(duì)比以往的解決方案,給出了一個(gè)具有普遍性的技巧,具有一定的借鑒價(jià)值,需要的朋友可以參考下2014-11-11C#設(shè)置開機(jī)啟動(dòng)項(xiàng)、取消開機(jī)啟動(dòng)項(xiàng)
這篇文章主要介紹了C#設(shè)置開機(jī)啟動(dòng)項(xiàng)、取消開機(jī)啟動(dòng)項(xiàng),本文通過修改注冊(cè)實(shí)現(xiàn),并給出操作代碼,需要的朋友可以參考下2015-06-06