C#下實現動態系統托盤表徵圖

來源:互聯網
上載者:User

程式主要用到了一下幾個類:

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試試效果吧!

運行程式,將顯示一個主視窗,此時還可以看到在工作列上面多了一個表徵圖。當滑鼠移到其上停留一下時,將顯示一個簡單的提示資訊,點擊該表徵圖則將隱藏主視窗,單擊右鍵,出來一個菜單,選"動畫表徵圖開始"和"動畫表徵圖結束"可以控製圖標狀態。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.