欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

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

private void notifyIcon_DBClick(object sender, System.EventArgs e)//用戶雙擊應(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)論