日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

C#下实现动态系统托盘图标

發布時間:2024/9/5 windows 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C#下实现动态系统托盘图标 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Visual C#是微軟公司推出的下一代程序開發語言,是微軟.Net框架中的的一個重要組成部分。微軟的.Net平臺堪稱為新一代的互聯網平臺。對于技術開發人員來說,.Net平臺的兩大特性是非常卓越的,首先是其所提供的公共語言運行時,也就是公用語言運行平臺,另一方面就是其龐大而全面的統一編程類。Visual C#就是通過調用這些類、對象來實現許多比較強大的功能。?
本文通過向大家介紹一個.Net平臺上用C#寫的可以停放在任務欄上的圖標程序(類似于Flashget、OICQ那種系統托盤圖標)來和大家一起體驗一下用C#編程的樂趣。?

一、概述:?

我這里所指的圖標程序是類似于在Windows中經常接觸的停放在任務欄上,在后臺運行的病毒監視、媒體播放等程序。它們一般都具有單擊顯示或隱藏主界面,擊右鍵彈出菜單,當鼠標停在圖標上時顯示提示信息的功能。?

程序主要用到了一下幾個類:?
System.Windows.Fomrs.NotifyIcon類
System.Windows.Forms.ContextMenu類
System.Windows.Forms.MenuItem類
System.Windows.Forms.Label類
System.Windows.Forms.Timer類?

二、程序設計和運行的環境:?

(1)微軟公司視窗2000服務器版或視窗XP版?
(2).Net FrameWrok SDK Beta 2版?

三、具體實現步驟:?

(1).在Visual Studio下新建一個C#的工程,不妨命名為AnimateSystemTray。圖示如下:?


(2).現在我們來設計程序的主界面:?
先將窗體的Text屬性設置為"動畫系統圖標示例",MaximiseBox、MinimiseBox、ShowInTaskbar屬性均設置為False。?
再往窗體上添加Label控件、NotifyIcon控件、ContextMenu控件、Timer控件各一個。?
將Label控件的Text屬性設置為"請右擊系統托盤圖標";將NotifyIcon控件的Icon屬性設置為一個圖標文件: ,Text屬性設置為"這是個示例程序!",ContextMenu屬性設置為"contextMenu1";接下來開始編輯ContextMenu控件,圖示如下:?

最后還要在導入兩個圖標 (Icon1.ico), (Icon2.ico)文件到該項目。?
(3).現在我們開始編寫代碼部分:?
首先在我們的類中添加以下數據成員:?
private Icon m_Icon1;
private Icon m_Icon2;
private bool m_bFlag;
private bool m_bShowWnd;?
修改Form1()函數為:

1 public Form1()
2 {
3 //
4 // Required for Windows Form Designer support
5 //
6 InitializeComponent();
7 //
8 // TODO: Add any constructor code after InitializeComponent call
9 //
10 m_bFlag=true;
11 m_bShowWnd=true;
12 try
13 {
14 m_Icon1 = new Icon("Icon1.ico");//導入圖標文件
15 m_Icon2 = new Icon("Icon2.ico");
16 }
17 catch ( Exception e )
18 {
19 MessageBox.Show("Error " + e.Message,"Animate Tray - Error");
20 menuItem2.Enabled = false;
21 menuItem3.Enabled = false;
22 }
23 }
24 添加menuItem1、menuItem2、menuItem3、m_trayIcon的Click事件,消息處理函數如下:
25 private void menuItem1_Click(object sender, System.EventArgs e)
26 {
27 timer1.Start();//打開計時器
28 }
29 private void menuItem2_Click(object sender, System.EventArgs e)
30 {
31 timer1.Stop();//停止計時器
32 }
33 private void menuItem3_Click(object sender, System.EventArgs e)
34 {
35 Application.Exit();//退出應用程序
36 }
37 private void m_trayIcon_Click(object sender, System.EventArgs e)
38 {
39 if(m_bShowWnd == true)//隱藏主界面
40 {
41 this.Visible = false;
42 m_bShowWnd = false;
43 }
44 else//顯示主界面
45 {
46 this.Visible = true;
47 m_bShowWnd = true;
48 }
49 }
50
51 最后還要添加timer1的Tick()函數:
52 private void timer1_Tick(object sender, System.EventArgs e)
53 {
54 if ( m_Icon1 != null && m_Icon2 != null ) //如果兩個圖標文件都被正確載入
55 {
56 //只要timer1被啟動,則在兩個圖標之間不斷進行選擇變換,實現動畫效果
57 if ( m_bFlag == true )
58 {
59 m_trayIcon.Icon = m_Icon2;
60 m_bFlag = false;
61 }
62 else
63 {
64 m_trayIcon.Icon = m_Icon1;
65 m_bFlag = true;
66 }
67 }
68 }

好了,按Ctrl+F5試試效果吧!?
運行程序,將顯示一個主窗口,此時還可以看到在任務欄上面多了一個圖標。當鼠標移到其上停留一下時,將顯示一個簡單的提示信息,點擊該圖標則將隱藏主窗口,單擊右鍵,出來一個菜單,選"動畫圖標開始"和"動畫圖標結束"可以控制圖標狀態。?

四.總結:?

做完這個程序,我們不難發現用C#做一些運用程序效果是非常方便的。以前我在SDK、MFC下,用到了Shell_NotifyIcon()、TrackPopMenu()以及DestroyMenu(),還要自己添加消息處理函數,工作量是非常大的。現在微軟為我們做好了這些工作,是不是很方便?快快加入C#的行列吧。

轉載于:https://www.cnblogs.com/carekee/articles/4551722.html

總結

以上是生活随笔為你收集整理的C#下实现动态系统托盘图标的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产一级自拍视频 | 九草影院 | 性开放耄耋老妇hd | 日韩精品一区二区三区在线播放 | 极品91| 亚洲黄色免费 | 波多野结衣视频播放 | 欧美一级电影在线 | 九九视屏 | 欧洲精品一区二区三区 | 欧美日韩图片 | 五月婷婷在线观看视频 | 99碰碰| 国产精品久久在线观看 | 亚洲国产日韩在线观看 | 国产精品三级久久久久久电影 | 邻居少妇张开双腿让我爽一夜 | 无码精品国产一区二区三区免费 | 嫩草影院在线免费观看 | 女性女同性aⅴ免费观女性恋 | 福利视频三区 | 一区二区三区视频在线 | 台湾极品xxx少妇 | 成人在线观看免费 | 日韩高清专区 | 99re伊人 | 黄色片hd | 黄色小视频在线看 | 国产一级自拍 | 女同vk | 波波野结衣 | 噜噜色网 | 国产影视一区二区三区 | 亚洲av少妇一区二区在线观看 | 国产精品久久久影院 | 久久国产伊人 | 91亚洲在线 | 亚洲三级久久 | 精品国产一区二区三区av性色 | 久久9966| 色呦呦国产精品 | av资源导航 | 女警白嫩翘臀呻吟迎合 | 国产在线国偷精品免费看 | 欧美成人亚洲 | 亚洲欧美激情另类 | 男人操女人逼逼视频 | 国产精品视频无码 | 久久久夜夜夜 | 伊人久久影院 | 毛片av免费 | 日韩女同互慰一区二区 | 免费99精品国产自在在线 | 日韩一区二区免费视频 | 蜜臀久久久久久999 大陆熟妇丰满多毛xxxⅹ | 小宵虎南在线观看 | 天堂av影院| 高h视频在线播放 | 欧美精品卡一卡二 | 91网站永久免费看nba视频 | 亚洲天堂一区二区 | wwwxxx日本| 九九福利视频 | 97精品人人a片免费看 | 午夜影片 | 久久久精品蜜桃 | 婷婷激情影院 | 国产精品破处 | 国产成人久久精品流白浆 | 国产精品熟妇一区二区三区四区 | 日韩精品电影在线 | 免费一级欧美 | 东方av在线免费观看 | 日韩毛片高清在线播放 | 亚洲高清成人 | 高h全肉污文play带道具 | 欧美日一区二区 | 黑人精品xxx一区一二区 | 欧美老女人xx | 成人做受黄大片 | 久久精品一区二区在线观看 | 狠狠干天天干 | 国产精品无码一区二区三区 | 91综合视频 | 西西人体高清44rt·net | av网页在线 | 中文字幕无线码 | 国产大片中文字幕在线观看 | 国产精品麻豆欧美日韩ww | 精品欧美黑人一区二区三区 | 男男上床视频 | 黄色一级片av | 免费毛片小视频 | 国产精品久久久久野外 | 日韩精品人妻中文字幕有码 | 992tv在线成人免费观看 | 成人免费视频软件网站 | 国产日韩精品一区二区三区 | av在线一区二区三区 |