0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

C#-實現(xiàn)程序托盤

汽車電子技術(shù) ? 來源:程序猿知秋 ? 作者:程序猿知秋 ? 2023-02-28 09:44 ? 次閱讀

圖片

程序托盤

我們做的很多程序都要求實現(xiàn)托盤功能,比如之前常用的qq或微信 等等。 本文以簡單的Demo來演示托盤程序

效果演示 ( 注:本案例用的是qq的圖標(biāo)

圖片

素材準(zhǔn)備

兩個** icon 格式 的圖片 (一個表示在線,一個表示離線)**,用來作為程序托盤的圖標(biāo)

第一步:將 NotifyIcon 控件,拖到主窗體中,并在窗體中添加兩個按鈕(在線、離線)

圖片

第二步:將contextMenuStrip控件,拖到主窗體中

  • 設(shè)置一個 **退出 **菜單 ( 用作,鼠標(biāo)在托盤圖標(biāo)右鍵菜單
  • 雙擊 退出 ,自動生成單擊方法。 在方法中編寫代碼 this.Close(); 表示關(guān)閉程序
  • 將上面的** notifyicon 控件**的 contextMenuStrip 屬性 ,設(shè)置為當(dāng)前的 contextMenuStrip

圖片

圖片

圖片

第三步:在主窗體的 Form1_Load 方法中初始化 notifyicon的屬性

  • 在項目中新建一個文件夾 ,重命名為 icon,用來存放使用到的ico 圖標(biāo)*(放到資源管理中也行)*
  • 在Form1_Load 方法中初始化 notifyicon的屬性

圖片

private void Form1_Load(object sender, EventArgs e)
{
  // 初始化
  this.notifyIcon1.Icon = new Icon(@"D:\\c#workspace\\練習(xí)demo\\托盤程序?qū)崿F(xiàn)\\icon\\qq彩色.ico");
  this.notifyIcon1.Visible = true; //顯示圖標(biāo)
  this.notifyIcon1.Text = "在線";  // 鼠標(biāo)懸浮圖標(biāo)上時 提示文案
}

第四步:給主窗體添加一個 FormCloing 事件(表示關(guān)閉程序時可進入托盤)

圖片

private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
  DialogResult result = MessageBox.Show("是否退出?選否,最小化到托盤", "操作提示", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
  if (result == DialogResult.Yes)
  {
    this.Dispose();
    Application.Exit();
  }
  else
  {
    e.Cancel = true;
    this.WindowState = FormWindowState.Minimized;
    this.Visible = false;
    this.notifyIcon1.Visible = true;
  }
}

第五步:給托盤圖標(biāo)添加一個鼠標(biāo)單擊事件,程序托盤后用來打開程序界面

圖片

private void notifyIcon1_MouseClick(object sender, MouseEventArgs e)
{
  // 單擊左鍵,打開程序
  if (e.Button == MouseButtons.Left)
  {
    this.Show();
    this.Focus();
    this.WindowState = FormWindowState.Normal;
  }
}

第六步:添加 在線與離線按鈕的單擊事件,代碼邏輯如下

  • 在線:將托盤圖標(biāo)更換成表示 **在線 **的圖片
  • 離線:將托盤圖標(biāo)更換成表示 **離線 **的圖片
private void button1_Click(object sender, EventArgs e)
{
  this.notifyIcon1.Icon = new Icon(@"D:\\c#workspace\\練習(xí)demo\\托盤程序?qū)崿F(xiàn)\\icon\\qq彩色.ico");
  this.notifyIcon1.Text = "在線";
}


private void button2_Click(object sender, EventArgs e)
{
  this.notifyIcon1.Icon = new Icon(@"D:\\c#workspace\\練習(xí)demo\\托盤程序?qū)崿F(xiàn)\\icon\\qq黑白色.ico");
  this.notifyIcon1.Text = "離線";
}

完成以上步驟,托盤程序即可正常運行?。。?!

最后注意,托盤的圖標(biāo)必須是 icon 格式的圖片!??!

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 功能
    +關(guān)注

    關(guān)注

    3

    文章

    587

    瀏覽量

    29112
  • 程序
    +關(guān)注

    關(guān)注

    115

    文章

    3719

    瀏覽量

    80355
收藏 人收藏

    評論

    相關(guān)推薦

    怎樣實現(xiàn)labview程序最小化到托盤

    自己做了一個小秒表,想最小化到托盤,怎樣實現(xiàn)!求助!
    發(fā)表于 03-14 22:44

    《Visual C# 2008程序設(shè)計經(jīng)典案例設(shè)計與實現(xiàn)》---只能運行一次的托盤程序

    《Visual C# 2008程序設(shè)計經(jīng)典案例設(shè)計與實現(xiàn)》---只能運行一次的托盤程序[hide][/hide]
    發(fā)表于 05-13 19:24

    《Visual C# 2008程序設(shè)計經(jīng)典案例設(shè)計與實現(xiàn)》---托盤動畫圖標(biāo)程序

    《Visual C# 2008程序設(shè)計經(jīng)典案例設(shè)計與實現(xiàn)》---托盤動畫圖標(biāo)程序[hide][/hide]
    發(fā)表于 05-13 19:40

    榮小菜補鈣記第32期:LabVIEW之如何實現(xiàn)應(yīng)用程序最小化托盤

    `榮小菜補鈣記第32期:LabVIEW之如何實現(xiàn)應(yīng)用程序最小化托盤 同步更新于 WeChat:榮小菜在補鈣大家好,我是榮小菜,也可以叫我Richie,本期分享的是讓程序具有最小化
    發(fā)表于 05-15 14:37

    Delphi教程之將程序圖標(biāo)設(shè)置到Windows系統(tǒng)托盤

    Delphi教程之將程序圖標(biāo)設(shè)置到Windows系統(tǒng)托盤,很好的Delphi資料,快來下載吧。
    發(fā)表于 04-11 15:59 ?5次下載

    《Visual C# 2008程序設(shè)計經(jīng)典案例設(shè)計與實現(xiàn)》---

    《Visual C# 2008程序設(shè)計經(jīng)典案例設(shè)計與實現(xiàn)》---動態(tài)獲取當(dāng)前程序的圖標(biāo)
    發(fā)表于 02-07 11:44 ?0次下載

    《Visual C# 2008程序設(shè)計經(jīng)典案例設(shè)計與實現(xiàn)》---

    《Visual C# 2008程序設(shè)計經(jīng)典案例設(shè)計與實現(xiàn)》---托盤動畫圖標(biāo)程序
    發(fā)表于 02-07 11:43 ?0次下載

    《Visual C# 2008程序設(shè)計經(jīng)典案例設(shè)計與實現(xiàn)》---

    《Visual C# 2008程序設(shè)計經(jīng)典案例設(shè)計與實現(xiàn)》---滾動字幕屏幕保護程序
    發(fā)表于 02-07 11:40 ?0次下載

    《Visual C# 2008程序設(shè)計經(jīng)典案例設(shè)計與實現(xiàn)》---

    《Visual C# 2008程序設(shè)計經(jīng)典案例設(shè)計與實現(xiàn)》---圖像隨機顯示屏幕保護程序
    發(fā)表于 02-07 11:39 ?2次下載

    《Visual C# 2008程序設(shè)計經(jīng)典案例設(shè)計與實現(xiàn)》---

    《Visual C# 2008程序設(shè)計經(jīng)典案例設(shè)計與實現(xiàn)》---只能運行一次的托盤程序
    發(fā)表于 02-07 12:30 ?0次下載

    《Visual C# 2008程序設(shè)計經(jīng)典案例設(shè)計與實現(xiàn)》---

    《Visual C# 2008程序設(shè)計經(jīng)典案例設(shè)計與實現(xiàn)》---動態(tài)設(shè)置程序是否為開機運行
    發(fā)表于 02-07 12:31 ?3次下載

    《Visual C# 2008程序設(shè)計經(jīng)典案例設(shè)計與實現(xiàn)》---

    《Visual C# 2008程序設(shè)計經(jīng)典案例設(shè)計與實現(xiàn)》---VisualC#2008與Web應(yīng)用程序
    發(fā)表于 01-18 20:23 ?0次下載

    C語言教程之如何進行最簡單的C程序設(shè)計實現(xiàn)程序說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是C語言教程之如何進行最簡單的C程序設(shè)計實現(xiàn)程序說明。
    發(fā)表于 11-02 10:53 ?2次下載

    電池托盤整線智造突圍者

    巨大的市場預(yù)期下,電池托盤的車規(guī)級、規(guī)?;a(chǎn)需求被提出,電池托盤制造商被要求快速建立自動化產(chǎn)線,電池托盤整線制造成為趨勢。彼時,電池托盤輕量化新材料應(yīng)用也在不斷發(fā)展。
    的頭像 發(fā)表于 02-20 15:51 ?3298次閱讀
    電池<b class='flag-5'>托盤</b>整線智造突圍者

    RFID托盤實現(xiàn)物流倉儲墨水屏電子紙標(biāo)簽可視化跟蹤系統(tǒng)的應(yīng)用體現(xiàn)

    晨控智能將RFID電子標(biāo)簽應(yīng)用于托盤上,對托盤進行智能化的管理,通過托盤標(biāo)識的方式讓倉儲管理實現(xiàn)倉庫自動化、信息化、數(shù)字化管理。RFID技術(shù)倉儲物流
    發(fā)表于 01-04 10:52 ?624次閱讀
    RFID<b class='flag-5'>托盤</b><b class='flag-5'>實現(xiàn)</b>物流倉儲墨水屏電子紙標(biāo)簽可視化跟蹤系統(tǒng)的應(yīng)用體現(xiàn)