六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

C#下完成動態系統托盤圖標

[摘要]Visual C#是微軟公司推出的下一代程序開發語言,是微軟.Net框架中的的一個重要組成部分。微軟的.Net平臺堪稱為新一代的互聯網平臺。對于技術開發人員來說,.Net平臺的兩大特性是非常卓越的...
    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()函數為:  
      
    public  Form1()  
    {  
    //  
    //  Required  for  Windows  Form  Designer  support  
    //  
    InitializeComponent();  
    //  
    //  TODO:  Add  any  constructor  code  after  InitializeComponent  call  
    //  
    m_bFlag=true;  
    m_bShowWnd=true;  
      
    try  
    {  
    m_Icon1  =  new  Icon("Icon1.ico");//導入圖標文件  
    m_Icon2  =  new  Icon("Icon2.ico");  
    }  
    catch  (  Exception  e  )  
    {  
    MessageBox.Show("Error  "  +  e.Message,"Animate  Tray  -  Error");  
    menuItem2.Enabled  =  false;  
    menuItem3.Enabled  =  false;  
    }  
    }  
      
    添加menuItem1、menuItem2、menuItem3、m_trayIcon的Click事件,消息處理函數如下:  
    private  void  menuItem1_Click(object  sender,  System.EventArgs  e)  
    {  
    timer1.Start();//打開計時器  
    }  
      
    private  void  menuItem2_Click(object  sender,  System.EventArgs  e)  
    {  
    timer1.Stop();//停止計時器  
    }  
      
    private  void  menuItem3_Click(object  sender,  System.EventArgs  e)  
    {  
    Application.Exit();//退出應用程序  
    }  
      
    private  void  m_trayIcon_Click(object  sender,  System.EventArgs  e)  
    {  
    if(m_bShowWnd  ==  true)//隱藏主界面  
    {  
    this.Visible  =  false;  
    m_bShowWnd  =  false;  
    }  
    else//顯示主界面  
    {  
    this.Visible  =  true;  
    m_bShowWnd  =  true;  
    }  
    }  
      
      
      
    最后還要添加timer1的Tick()函數:  
      
    private  void  timer1_Tick(object  sender,  System.EventArgs  e)  
    {  
    if  (  m_Icon1  !=  null  &&  m_Icon2  !=  null  )  //如果兩個圖標文件都被正確載入  
    {  
    //只要timer1被啟動,則在兩個圖標之間不斷進行選擇變換,實現動畫效果  
    if  (  m_bFlag  ==  true  )  
    {  
    m_trayIcon.Icon  =  m_Icon2;  
    m_bFlag  =  false;  
    }  
    else  
    {  
    m_trayIcon.Icon  =  m_Icon1;  
    m_bFlag  =  true;  
    }  
    }  
    }  
      
    好了,按Ctrl+F5試試效果吧!  
      
    運行程序,將顯示一個主窗口,此時還可以看到在任務欄上面多了一個圖標。當鼠標移到其上停留一下時,將顯示一個簡單的提示信息,點擊該圖標則將隱藏主窗口,單擊右鍵,出來一個菜單,選"動畫圖標開始"和"動畫圖標結束"可以控制圖標狀態。  
      
    四.總結:  
      
    做完這個程序,我們不難發現用C#做一些運用程序效果是非常方便的。以前我在SDK、MFC下,用到了Shell_NotifyIcon()、TrackPopMenu()以及DestroyMenu(),還要自己添加消息處理函數,工作量是非常大的�,F在微軟為我們做好了這些工作,是不是很方便?快快加入C#的行列吧。


主站蜘蛛池模板: 午夜视频在线免费看 | 午夜激爽毛片在线看 | 欧洲美女高清一级毛片 | 一级毛片黄片 | 人人看人人鲁狠狠高清 | 日本天堂影院 | 亚欧成人乱码一区二区 | 色噜噜网站| 日韩精品一区二区三区中文字幕 | 天堂v亚洲国产v一区二区 | 天天做夜夜爽 | 日韩高清中文字幕 | 婷婷综合久久中文字幕一本 | 欧美亚洲另类自拍偷在线拍 | 中文字幕视频不卡 | 亚洲欧美日韩不卡一区二区三区 | 日本高清网站 | 欧美午夜一区二区福利视频 | 一级黄色免费观看 | 中文字幕一区二区在线视频 | 亚洲高清影院 | 午夜影视网 | 亚洲欧美视屏 | 一级做a爰片欧美一区 | 日日天干夜夜人人添 | 青青啪| 青青青青爽极品在线视频 | 青娱乐精品视频在线观看 | 色综合一区| 日韩理论视频 | 中文国产 | 欧美在线播放一区二区 | 欧美怡红院视频一区二区三区 | 综合久久久久久久 | 亚洲国产一区在线观看 | 一级成人a免费视频 | 亚洲bt天堂 | 日本大片在线播放在线 | 特黄十八岁大片 | 亚洲系列国产系列 | 日韩字幕在线 |