c2让winform应用法度模范最小化图标显示在义务栏并供给右击菜单[新版]
c#中让WinForm应用程序最小化图标显示在任务栏并提供右击菜单
让WinForm应用程序最小化图标显示在任务栏并提供右击菜单
1.首先应该把MDI窗体ShowInTaskbar设置为true,在vs2008中默认就
是true;
2.然后分别添加NotifyIcon及其ContextMenuStrip控件;
3.再把NotifyIcon的ContextMenuStrip属性值指向ContextMenuStrip,
并且把NotifyIcon的Icon指定一张*.Icon
格式
pdf格式笔记格式下载页码格式下载公文格式下载简报格式下载
的图片文件以便显示在
任务栏中;
4.为NotifyIcon添加名称为notifyIconSystem_MouseDoubleClick的
MouseDoubleClick事件;
5.为MDI窗体添加名为MainForm_SizeChanged的SizeChanged事件;
以上基本上就可以完成我们相应的需求了,然后就是实现了。在这里我要求Application在应用时任务栏不显示相应的图标,只有当在最小化时才显示其图标,并且在右击任务栏上的图标提供简单的功能(隐藏,显示,关闭,关于),双击图标时还原Application窗体。
具体代码如下:
//窗体加载
private void MainForm_Load(object sender, EventArgs e) {
this.notifyIconSystem.Visible = false; }
//双击任务栏图标时,还原窗口
private void notifyIconSystem_MouseDoubleClick(object sender, MouseEvent
Args 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_最小化的右击图标菜单