程序托盤(pán)
我們做的很多程序都要求實(shí)現(xiàn)托盤(pán)功能,比如之前常用的qq或微信 等等。 本文以簡(jiǎn)單的Demo來(lái)演示托盤(pán)程序
效果演示 ( 注:本案例用的是qq的圖標(biāo) )
素材準(zhǔn)備
兩個(gè)** icon 格式 的圖片 (一個(gè)表示在線,一個(gè)表示離線)**,用來(lái)作為程序托盤(pán)的圖標(biāo)
第一步:將 NotifyIcon 控件,拖到主窗體中,并在窗體中添加兩個(gè)按鈕(在線、離線)
第二步:將contextMenuStrip控件,拖到主窗體中
- 設(shè)置一個(gè) **退出 **菜單 ( 用作,鼠標(biāo)在托盤(pán)圖標(biāo)右鍵菜單 )
- 雙擊 退出 ,自動(dòng)生成單擊方法。 在方法中編寫(xiě)代碼 this.Close(); 表示關(guān)閉程序
- 將上面的** notifyicon 控件**的 contextMenuStrip 屬性 ,設(shè)置為當(dāng)前的 contextMenuStrip
第三步:在主窗體的 Form1_Load 方法中初始化 notifyicon的屬性
- 在項(xiàng)目中新建一個(gè)文件夾 ,重命名為 icon,用來(lái)存放使用到的ico 圖標(biāo)*(放到資源管理中也行)*
- 在Form1_Load 方法中初始化 notifyicon的屬性
private void Form1_Load(object sender, EventArgs e)
{
// 初始化
this.notifyIcon1.Icon = new Icon(@"D:\\c#workspace\\練習(xí)demo\\托盤(pán)程序?qū)崿F(xiàn)\\icon\\qq彩色.ico");
this.notifyIcon1.Visible = true; //顯示圖標(biāo)
this.notifyIcon1.Text = "在線"; // 鼠標(biāo)懸浮圖標(biāo)上時(shí) 提示文案
}
第四步:給主窗體添加一個(gè) FormCloing 事件(表示關(guān)閉程序時(shí)可進(jìn)入托盤(pán))
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
DialogResult result = MessageBox.Show("是否退出?選否,最小化到托盤(pán)", "操作提示", 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;
}
}
第五步:給托盤(pán)圖標(biāo)添加一個(gè)鼠標(biāo)單擊事件,程序托盤(pán)后用來(lái)打開(kāi)程序界面
private void notifyIcon1_MouseClick(object sender, MouseEventArgs e)
{
// 單擊左鍵,打開(kāi)程序
if (e.Button == MouseButtons.Left)
{
this.Show();
this.Focus();
this.WindowState = FormWindowState.Normal;
}
}
第六步:添加 在線與離線按鈕的單擊事件,代碼邏輯如下
- 在線:將托盤(pán)圖標(biāo)更換成表示 **在線 **的圖片
- 離線:將托盤(pán)圖標(biāo)更換成表示 **離線 **的圖片
private void button1_Click(object sender, EventArgs e)
{
this.notifyIcon1.Icon = new Icon(@"D:\\c#workspace\\練習(xí)demo\\托盤(pán)程序?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\\托盤(pán)程序?qū)崿F(xiàn)\\icon\\qq黑白色.ico");
this.notifyIcon1.Text = "離線";
}
完成以上步驟,托盤(pán)程序即可正常運(yùn)行!?。?!
最后注意,托盤(pán)的圖標(biāo)必須是 icon 格式的圖片?。。?/strong>
-
功能
+關(guān)注
關(guān)注
3文章
589瀏覽量
29627 -
程序
+關(guān)注
關(guān)注
117文章
3817瀏覽量
82165
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
怎樣實(shí)現(xiàn)labview程序最小化到托盤(pán)
《Visual C# 2008程序設(shè)計(jì)經(jīng)典案例設(shè)計(jì)與實(shí)現(xiàn)》---只能運(yùn)行一次的托盤(pán)程序
《Visual C# 2008程序設(shè)計(jì)經(jīng)典案例設(shè)計(jì)與實(shí)現(xiàn)》---托盤(pán)動(dòng)畫(huà)圖標(biāo)程序
榮小菜補(bǔ)鈣記第32期:LabVIEW之如何實(shí)現(xiàn)應(yīng)用程序最小化托盤(pán)
Delphi教程之將程序圖標(biāo)設(shè)置到Windows系統(tǒng)托盤(pán)
《Visual C# 2008程序設(shè)計(jì)經(jīng)典案例設(shè)計(jì)與實(shí)現(xiàn)》---
《Visual C# 2008程序設(shè)計(jì)經(jīng)典案例設(shè)計(jì)與實(shí)現(xiàn)》---
《Visual C# 2008程序設(shè)計(jì)經(jīng)典案例設(shè)計(jì)與實(shí)現(xiàn)》---
《Visual C# 2008程序設(shè)計(jì)經(jīng)典案例設(shè)計(jì)與實(shí)現(xiàn)》---
《Visual C# 2008程序設(shè)計(jì)經(jīng)典案例設(shè)計(jì)與實(shí)現(xiàn)》---
《Visual C# 2008程序設(shè)計(jì)經(jīng)典案例設(shè)計(jì)與實(shí)現(xiàn)》---
C語(yǔ)言教程之如何進(jìn)行最簡(jiǎn)單的C程序設(shè)計(jì)實(shí)現(xiàn)程序說(shuō)明
RFID托盤(pán)實(shí)現(xiàn)物流倉(cāng)儲(chǔ)墨水屏電子紙標(biāo)簽可視化跟蹤系統(tǒng)的應(yīng)用體現(xiàn)

RFID托盤(pán)標(biāo)簽的介紹及應(yīng)用

RFID托盤(pán)標(biāo)簽的應(yīng)用

評(píng)論