程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#基礎知識 >> 用Visual C#做托盤程序

用Visual C#做托盤程序

編輯:C#基礎知識

  所謂托盤程序顧名思義就是象托起的盤子一樣的程序。而所謂的托起的盤子就是程序運行中顯示出的圖標,而托起的位置就是視窗系統的的工具欄了。托盤程序具有直觀、占用屏幕空間較小並且可以為它定義多個功能菜單,這就給操作者帶來了方便,所以越來越多的程序設計者都把程序設計成托盤這種方式。我們已經看過了用其他語言設計托盤程序的例子,其中的大部分,整個設計過程還是相對煩瑣的。而對於微軟公司極力推薦的下一代程序開發語言--Visual C#來說,卻可以十分方便設計出一個托盤程序。本文就是介紹Visual C#設計托盤程序的具體過程。

  首先來介紹一下本文中設計托盤程序所需要的環境:

  (1).微軟公司視窗2000服務器版

  (2)..Net FrameWork SDK Beta 2

  一. 托盤程序的主要步驟及解決方法:

  為什麼說用Visual C#可以十分方便的做一個托盤程序,主要的原因是在.Net框架的軟件開發包( .Net FrameWork SDK )中的WinForm組件中定義了一個專門用來開發托盤程序的組件--NotifyIcon組件。下面就來介紹一下這個組件的具體用法和程序設計中的主要的技巧。

  (1).如何在程序運行後隱藏窗體:

  我們知道托盤程序運行後是無法看見主窗體的,他只會顯示在工具欄上。在用Visual C#設計此類程序的時候,可以用二種方法使得程序運行後不顯示主窗體。其中一種方法是重載主窗體中的OnActivated( )事件,OnActivated( )事件是在窗體激活的時候才觸發的。通過重載此事件可以達到隱藏主窗體的目的。具體程序代碼如下:

  

protected override void OnActivated ( EventArgs e )
{
this.Hide ( ) ;
}

  另外一種方法是在初始化主窗體的時候完成的,通過設定主窗體的屬性來達到不顯示的目的。具體的程序代碼如下:

  

this.MaximizeBox = false ;
this.MinimizeBox = false ;
this.WindowState = System.Windows.Forms.FormWindowState.Minimized ;

  在本文介紹的程序中,使用了第二種方法。

  (2).如何為托盤程序設定顯示圖標:

  在NotifyIcon組件中有一個屬性icon就是來設定托盤圖標的,由於Visual C#是一個完全的OOP (面向對象)語言,在Visual C#中任何東西都可以作為對象來處理。當然對應一個icon來說,也可以用對象的方法來處理他。我們通過下列語句來得到一個icon對象:

  

private Icon mNetTrayIcon = new Icon ( "Tray.ico" ) ;

  請注意:在編譯好的程序中,必須要在同一個目錄中有一個Tray.ico圖標文件,否則程序運行時候會出錯的。

  通過下列語句把此icon對象付給NotifyIcon組件中的icon屬性,此時如果程序正確編譯,則此icon就會顯示在工具欄中了。

  

TrayIcon.Icon = mNetTrayIcon ;

  (3).設定當鼠標停留在托盤程序上顯示的文本內容:

  NotifyIcon組件中有一個屬性Text。設定這個屬性的內容,就是鼠標停留在托盤圖標上顯示的內容了。具體語句如下:

  

TrayIcon.Text = "用Visual C#做托盤程序" + "\n" + "作者:馬金虎於2001.12.08" ;

  (4).如何在托盤程序加入菜單:

  在NotifyIcon組件中有一個對象叫ContextMenu,在托盤程序中顯示出的菜單就是通過設定此對象來實現的。以下的程序代碼是為托盤程序加入菜單項:

  

notifyiconMnu = new ContextMenu ( mnuItms ) ;
TrayIcon.ContextMenu = notifyiconMnu ;
//為托盤程序設定菜單

  (5).如何設定ContextMenu對象的內容:

  ContextMenu對象是托盤程序的菜單的結構,所以如何設定此對象,在本程序中是比較關鍵的。在程序中,是通過定義一個菜單項數組,並對這個數組設定不同的值(這當中包括菜單的一些屬性和事件),然後把這個數組同時賦值給ContextMenu對象,來實現對ContextMenu對象的設置過程的。以下是程序中具體代碼:

  

//定義一個MenuItem數組,並把此數組同時賦值給ContextMenu對象
MenuItem [ ] mnuItms = new MenuItem [ 3 ] ;
mnuItms [ 0 ] = new MenuItem ( ) ;
mnuItms [ 0 ] .Text = "用Visual C#做托盤程序!" ;
mnuItms [ 0 ] .Click += new System.EventHandler ( this.showmessage ) ;
mnuItms [ 1 ] = new MenuItem ( "-" ) ;
mnuItms [ 2 ] = new MenuItem ( ) ;
mnuItms [ 2 ] .Text = "退出系統" ;
mnuItms [ 2 ] .Click += new System.EventHandler ( this.ExitSelect ) ;
mnuItms [ 2 ] .DefaultItem = true ;
notifyiconMnu = new ContextMenu ( mnuItms ) ;
TrayIcon.ContextMenu = notifyiconMnu ;
//為托盤程序加入設定好的ContextMenu對象

  • 首頁
  • 上一頁
  • 1
  • 2
  • 下一頁
  • 尾頁
  • 共2頁
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved