這篇文章繼續介紹系統托盤NotifyIcon的使用,項目實現效果為:最小化表單時,在系統托盤地區顯示程式表徵圖,並有氣球提示,時間為30秒。效果,具體實現如下:
1、建立一個新的項目From1;修改其Text屬性為“系統托盤示範”,修改其ShowInTaskbar屬性為False,為其添加一個表徵圖。
2、添加一個NotifyIcon控制項NotifyIcon1,修改其Text屬性為“系統托盤示範”,為其添加一個表徵圖,與From1表徵圖相同。
3、添加一個ContextMenuStrip控制項ContextMenuStrip1,添加兩個MenuItem,Text屬性分別為開啟,退出。 並在NotifyIcon控制中的ContextMenuStrip屬性中選擇剛剛建立的ContextMenuStrip1控制項。
4、下面將處理具體事件:
(1)Form1_SizeChanged事件,效果為最小化表單時,在系統托盤地區顯示程式表徵圖及氣球提示:
private void Form1_SizeChanged(object sender, EventArgs e)
{
if (WindowState == FormWindowState.Minimized)
{
this.Hide();
this.notifyIcon1.Visible = true;
this.notifyIcon1.ShowBalloonTip(30, "注意", "大家好,這是一個案例", ToolTipIcon.Info);
}
}
(2)NotifyIcon控制項的doubleclick事件及兩個menuitem的click事件:
private void notifyIcon1_DoubleClick(object sender, EventArgs e)
{
this.Show();
this.WindowState = FormWindowState.Normal;
}
private void toolStripMenuItem2_Click(object sender, EventArgs e)
{
this.Close();
}
private void toolStripMenuItem1_Click(object sender, EventArgs e)
{
this.notifyIcon1.Visible = false;
this.Show();
this.WindowState = FormWindowState.Normal;
}
這樣就實現了上述功能,需要強調的是:代碼this.notifyIcon1.ShowBalloonTip(30, "注意", "大家好,這是一個案例", ToolTipIcon.Info);為氣球提示的實現,代碼WindowState == FormWindowState.Minimized為表單最小化的判斷條件,代碼this.WindowState = FormWindowState.Normal;為表單還原的實現。
右側程式: