閱讀: 150 評論: 1 做者: blackcore 發表於 2009-11-18 10:06 原文連接html
- 首先應該把MDI窗體ShowInTaskbar設置爲true,在vs2008中默認就是true;
- 而後分別添加NotifyIcon及其ContextMenuStrip控件;
- 再把NotifyIcon的ContextMenuStrip屬性值指向ContextMenuStrip,而且把NotifyIcon的Icon指定一張*.Icon格式的圖片文件以便顯示在任務欄中;
- 爲NotifyIcon添加名稱爲notifyIconSystem_MouseDoubleClick的MouseDoubleClick事件;
- 爲MDI窗體添加名爲MainForm_SizeChanged的SizeChanged事件;
以上基本上就能夠完成咱們相應的需求了,而後就是實現了。在這裏我要求Application在應用時任務欄不顯示相應的圖標,只有當在最小化時才顯示其圖標,而且在右擊任務欄上的圖標提供簡單的功能(隱藏,顯示,關閉,關於),雙擊圖標時還原Application窗體。windows
具體代碼以下:ide
Code
//窗體加載
private void MainForm_Load(object sender, EventArgs e)
{
//.
this.notifyIconSystem.Visible = false;
}
//雙擊任務欄圖標時,還原窗口
private void notifyIconSystem_MouseDoubleClick(object sender, MouseEventArgs e)
{
if (this.WindowState == FormWindowState.Minimized)
this.WindowState = FormWindowState.Normal;
this.Activate();
this.notifyIconSystem.Visible = false;
}
//添加窗體最小化事件
private void MainForm_SizeChanged(object sender, EventArgs e)
{
if (this.WindowState == FormWindowState.Minimized)//最小化
{
this.ShowInTaskbar = false;
this.notifyIconSystem.Visible = true;
}
}
#region BEGIN_最小化的右擊圖標菜單
private void menuItemIcon_Hide_Click(object sender, EventArgs e)
{
//this.WindowState = FormWindowState.Minimized;
this.Hide();
this.ShowInTaskbar = false;
this.notifyIconSystem.Visible = true;
}
private void menuItemIcon_Show_Click(object sender, EventArgs e)
{
this.Show();
this.WindowState = FormWindowState.Normal;
this.Activate();
}
private void menuItemIcon_About_Click(object sender, EventArgs e)
{
//
}
private void menuItemIcon_Exit_Click(object sender, EventArgs e)
{
ApplicationExit(null);
}
#endregion END_最小化的右擊圖標菜單
本人初學WinForm開發,以上內容是我的整理以便有需而用,其如有誤,煩請幫忙指點更正,衷心感謝!BlackCore敬上!網站
發表評論this
新聞頻道:三款淘寶手機問世 淘寶無線電子商務開啓spa
推薦連接:Windows 7專題發佈
code
網站導航:博客園首頁 我的主頁 新聞 社區 博問 閃存 知識庫orm