亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

用 C# 編寫(xiě)一個(gè)停放在任務(wù)欄上的圖標(biāo)程序

 更新時(shí)間:2007年03月09日 00:00:00   作者:  
用 C# 編寫(xiě)一個(gè)停放在任務(wù)欄上的圖標(biāo)程序 
作者: 蔡世友 類(lèi)別: C#/VB 日期: 2002-1-30 10:21:46  
01-12-6 上午 10:53:11
--------------------------------------------------------------------------------
引 言 
C#語(yǔ)言是微軟公司針對(duì).Net平臺(tái)才推出來(lái)的一門(mén)新語(yǔ)言,作為.Net平臺(tái)的第一語(yǔ)言,它幾乎集中了所有關(guān)于軟件開(kāi)發(fā)和軟件工程研究的最新成果。其是當(dāng)前第一個(gè)完全面向組件的語(yǔ)言。 
微軟的.Net平臺(tái)堪稱(chēng)為新一代的互聯(lián)網(wǎng)平臺(tái)。對(duì)于技術(shù)開(kāi)發(fā)人員來(lái)說(shuō),.Net平臺(tái)的兩大特性是非常卓越的,首先是其所提供的公共語(yǔ)言運(yùn)行時(shí),也就是公用語(yǔ)言運(yùn)行平臺(tái),另一方面就是其龐大而全面的統(tǒng)一編程類(lèi)。 
下面我向大家介紹一個(gè).Net平臺(tái)上用C# 寫(xiě)的可以停放在任務(wù)欄上的圖標(biāo)程序,類(lèi)似于SQL管理器、防病毒軟件圖標(biāo)及OICQ圖標(biāo)等。 
一、圖標(biāo)程序基本概念 
我們這里所指的圖標(biāo)程序是類(lèi)似于在Windows中經(jīng)常接觸的停放在任務(wù)欄上,在后臺(tái)運(yùn)行的病毒監(jiān)視,SQL服務(wù)管理器等程序。這些程序啟動(dòng)后形成一個(gè)圖標(biāo)停在任務(wù)欄上,具有以下的外觀特征: 
雙擊圖標(biāo)可打開(kāi)程序主窗口。 
當(dāng)鼠標(biāo)停在圖標(biāo)上時(shí)顯示提示信息。 
在圖標(biāo)上點(diǎn)擊鼠標(biāo)右鍵可以彈出一個(gè)快捷菜單,通過(guò)點(diǎn)擊快捷菜單上的菜單項(xiàng)可以運(yùn)行相應(yīng)的程序功能。 
二、程序使用類(lèi)簡(jiǎn)介 
.Net提供了非常多的類(lèi),我們?cè)陂_(kāi)發(fā)過(guò)程中只需要使用其提供的各種類(lèi)就能夠?qū)崿F(xiàn)我們的大部份功能,.Net平臺(tái)中的類(lèi)有的是封裝的,有的是虛擬的,大多數(shù)的都是一般的公共類(lèi)。你可以直接構(gòu)造這些公共類(lèi)的實(shí)例,也可以通過(guò)繼承而使用類(lèi)的全部功能。在本程序中,我們使用了很多.Net類(lèi),下面,我將分別對(duì)主要的類(lèi)作簡(jiǎn)單介紹! 
System.Windows.Fomrs.NotifyIcon類(lèi) 
這是本程序中最主要的類(lèi),其從Component類(lèi)繼承的一個(gè)封裝類(lèi),不可繼承,主要功能是產(chǎn)生一個(gè)可以停放在任務(wù)欄最右邊的圖標(biāo)程序。下面是其主要成員介紹: 
構(gòu)造函數(shù)(Constructor Function) 
public NotifyIcon(); 不帶任何參數(shù),直接構(gòu)造一個(gè)NotifyIcon對(duì)象。 
Public NotifyIcon(IContainer container); 帶一個(gè)Icontainer參數(shù),代表NotifyIcon容器控件。 
屬性(Properties) 
ContextMenu 對(duì)象的彈出式菜單。 
Icon 對(duì)象的圖標(biāo) 
Text 對(duì)象的ToolTip文本,也即是當(dāng)鼠標(biāo)停在對(duì)象上時(shí)顯示的文本。 
Visible 表示對(duì)象是否是可見(jiàn)的。 
事件(Events) 
Clcik 當(dāng)單擊對(duì)象圖標(biāo)時(shí)引發(fā)。 
DoubleClick 當(dāng)雙擊對(duì)象圖標(biāo)時(shí)引發(fā)。 
System.Windows.Forms.Application類(lèi) 
Windows Forms應(yīng)用程序啟動(dòng)類(lèi),提供表態(tài)的方法管理運(yùn)用程序,如啟動(dòng)Windows Forms使用Application.Run(Form),而退出程序使用Application.Exit()等。 
System.Windows.Forms.Form類(lèi) 
Windows Forms程序窗體類(lèi),視窗程序的窗體一般都是直接或間接了從該類(lèi)產(chǎn)生,如產(chǎn)生一個(gè)簡(jiǎn)單的窗體使用new Forms()即可。在一般應(yīng)用程序中,由于用戶(hù)窗體上還要根據(jù)自己的需要添加更多的可視化元素及控件,如按鈕、標(biāo)簽、文本框等;因此,大多數(shù)我們?cè)谑褂肍orm類(lèi)時(shí)都是從該類(lèi)派生出用戶(hù)自己的窗體類(lèi)。 
System.Windows.Forms.Button類(lèi) 
按鈕控件類(lèi),提供一個(gè)可視的按鈕元素,一般情況下通過(guò)Text屬性設(shè)置按鈕的顯示文本,再為按鈕添加Click事件響應(yīng)函數(shù)即可使用。 
System.Windows.Forms.Label類(lèi) 
文字標(biāo)簽類(lèi),可以通過(guò)設(shè)置其Text屬性使其在窗體上顯示一般的文字信息。 
System.Windows.Forms.MenuItem類(lèi) 
Windows Forms菜單項(xiàng)類(lèi),可以生成一個(gè)簡(jiǎn)單的菜單項(xiàng),菜單項(xiàng)是所有菜單的基本構(gòu)成元素,通過(guò)該類(lèi)可以設(shè)置菜單項(xiàng)的外觀顯示屬性及事件響應(yīng)方法等。該類(lèi)提供了多種生成菜單項(xiàng)對(duì)象的構(gòu)造函數(shù),在實(shí)際應(yīng)用中一般采用MenuItem(string Text)的方法生成一個(gè)顯示文本為T(mén)ext的菜單項(xiàng)。菜單項(xiàng)類(lèi)提供Click事件使得用戶(hù)點(diǎn)擊菜單時(shí)可以響應(yīng)。 
System.Windows.Forms.ContextMenu類(lèi) 
彈出菜單類(lèi),生成一個(gè)彈出式菜單對(duì)象。其包括了一個(gè)菜單項(xiàng)集合屬性,使其可以非常方便的管理及存取彈出菜單的各項(xiàng)。生成彈出菜單對(duì)象使用其構(gòu)造函數(shù),有兩種方法:一種是直接使用ContextMenu(),不帶任何參數(shù)。另一種是使用ContextMenu(MenuItem[] menus),代有一個(gè)菜單項(xiàng)數(shù)組作為參數(shù)。 
三、程序設(shè)計(jì)及主要代碼 
程序設(shè)計(jì) 
本程序使用Visual Studio .Net編寫(xiě),首先通過(guò)新建Windows應(yīng)用項(xiàng)目生成一個(gè)Windows Forms初始窗體,在窗體上添加一個(gè)文本為“隱藏窗體”的按鈕,及一個(gè)說(shuō)明演示程序的標(biāo)簽,并雙擊按鈕,在其Click事件響應(yīng)方法中添加隱藏窗休的代碼。然后在工具欄面板中找到NotifyIcon控件,并把其拖到窗體上,然后設(shè)置其Text屬性及Icon屬性(Icon屬性為圖片,可以通過(guò)控件屬性欄選擇設(shè)置)。雙擊窗體為窗體的Load事件響應(yīng)方法添加NotifyIcon類(lèi)的初始化代碼,完成后即可直接編譯運(yùn)行。如下圖所示: 
程序主要代碼及注釋 
下面將列出本程序中部份主要代碼及詳細(xì)注釋?zhuān)怨┐蠹壹由顚?duì)程序的理解。 
public class Form1 : System.Windows.Forms.Form 

//定義一個(gè)NotifyIcon對(duì)象 
private System.Windows.Forms.NotifyIcon notifyIcon1; 
private void InitializeComponent()//Visual Studio .Net自動(dòng)產(chǎn)生,窗體初始化時(shí)執(zhí)行 

//創(chuàng)建NotifyIcon對(duì)象并設(shè)置其基本的屬性如Icon,Text及Visible等 
this.notifyIcon1 = new System.Windows.Forms.NotifyIcon(this.components); 
this.notifyIcon1.Icon = ((System.Drawing.Icon)(resources.GetObject("notifyIcon1.Icon"))); 
this.notifyIcon1.Text = "這是我的測(cè)試程序,還Cool吧!"; 
this.notifyIcon1.Visible = true; 

static void Main() 

Application.Run(new Form1());//啟動(dòng)運(yùn)行程序 

private void Form1_Load(object sender, System.EventArgs e) 

//生成4個(gè)菜單項(xiàng)對(duì)象,顯示文本分別為"顯示窗口"、"隱藏窗口"、"執(zhí)行程序"、"退出程序" 
MenuItem menuItem1=new MenuItem("顯示窗口"); 
MenuItem menuItem2=new MenuItem("隱藏窗口"); 
MenuItem menuItem3=new MenuItem("執(zhí)行程序"); 
MenuItem menuItem4=new MenuItem("退出程序"); 
//分別為4個(gè)菜單項(xiàng)添加Click事件響應(yīng)函數(shù) 
menuItem1.Click+=new System.EventHandler(this.menuItem1_Click); 
menuItem2.Click+=new System.EventHandler(this.menuItem2_Click); 
menuItem3.Click+=new System.EventHandler(this.menuItem3_Click); 
menuItem4.Click+=new System.EventHandler(this.menuItem4_Click); 
//設(shè)置NotifyIcon對(duì)象的ContextMenu屬性為生面的彈出菜單對(duì)象 
notifyIcon1.ContextMenu=new ContextMenu(new MenuItem[]{menuItem1,menuItem2,menuItem3,menuItem4}); 
//當(dāng)用戶(hù)雙擊程序圖標(biāo)時(shí)將執(zhí)行相應(yīng)的函數(shù) 
notifyIcon1.DoubleClick+=new System.EventHandler(this.notifyIcon_DBClick); 

private void menuItem1_Click(object sender,System.EventArgs e)//“顯示窗口”菜單的響應(yīng)方法 

if(this.Visible==false)this.Visible=true;//假如當(dāng)前窗口沒(méi)顯示則顯示當(dāng)前窗口 

private void menuItem2_Click(object sender,System.EventArgs e)//"隱藏窗口"菜單的響應(yīng)方法 

if(this.Visible==true)this.Visible=false;//假如當(dāng)前窗口為顯示的則隱藏窗口 

private void menuItem3_Click(object sender,System.EventArgs e)//"執(zhí)行程序"菜單的響應(yīng)方法 

//顯示一個(gè)提示信息框,表示事件已經(jīng)得到響應(yīng) 
MessageBox.Show("演示程序已經(jīng)執(zhí)行,此處功能就是顯示一個(gè)提示框!","提示信息",MessageBoxButtons.OK,MessageBoxIcon.Information); 

private void menuItem4_Click(object sender,System.EventArgs e)//“退出程序”菜單的響應(yīng)方法 

this.Close();//關(guān)閉當(dāng)前對(duì)象(即窗體) 
Application.Exit();//通過(guò)Application類(lèi)的靜態(tài)方法Exit()退出應(yīng)用程序 

private void button1_Click(object sender, System.EventArgs e)//用戶(hù)單擊按鈕時(shí)的響應(yīng)方法 

this.Visible=false;//隱藏當(dāng)前主窗口 

private void notifyIcon_DBClick(object sender, System.EventArgs e)//用戶(hù)雙擊應(yīng)用程序圖標(biāo)進(jìn)的響應(yīng)方法 

this.Visible=true;//顯示當(dāng)前主窗口 


四、程序運(yùn)行 
運(yùn)行程序,將顯示一個(gè)主窗口,此時(shí)還可以看到在任務(wù)欄上面多了一個(gè)圖標(biāo)。當(dāng)鼠標(biāo)移到其上停留一下時(shí),將顯示一個(gè)簡(jiǎn)單的提示信息,點(diǎn)擊窗口上的“隱藏窗口”按鈕將隱藏主窗口,如下圖所示: 
在圖標(biāo)上點(diǎn)擊鼠標(biāo)右鍵將顯示一個(gè)彈出菜單,此時(shí)可以選擇相應(yīng)的菜單執(zhí)行相應(yīng)的功能如“顯示窗口”、“隱藏窗口”、“退出程序等”,如下圖所示: 
例如,在彈出的菜單中點(diǎn)擊“執(zhí)行程序”將信息一個(gè)信息提示框,如下圖所示:  

相關(guān)文章

最新評(píng)論