winform程序实现最小化托盘显示
1.创建新的解决方案,解决方案名称和路径自定义
2.在解决方案下面新建一个窗体,从左边工具箱,将NotifyIcon拖过去窗体,该控件的作用是:运行程序期间在Windows任务栏右侧的通知区域显示图标(也就是我们所说的托盘显示),如下图
3.我们可以设置该控件的相关属性值,直接上代码了
//调整窗体大小的时候触发的事件 private void Form1_Resize(object sender, EventArgs e) { if (this.WindowState==FormWindowState.Minimized)//当窗体设置值为最小化时 { notifyIcon1.Visible = true;//该控件可见 this.ShowInTaskbar = false;//在任务栏中显示该窗口 } else { notifyIcon1.Visible = false;//否则该控件不可见 } } //双击该控件时触发的事件 private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e) { this.Visible = true;// this.WindowState = FormWindowState.Normal;//窗口正常显示 this.ShowInTaskbar = true;//在任务栏中显示该窗口 }
还有一点,NotifyIcon控件我们默认设置为不可见
还可以设置自己喜欢的图标作为托盘显示的icon
接下来增加一个另外的:
在NotifyIcon控件中增加一个右键菜单
1.在左边的工具栏中拖入一个上下文菜单contextMenuStrip
2.菜单上添加两个子项,显示和退出
3.双击显示和退出进入,下面直接贴代码,代码就不解释了,都有注释。
private void 显示ToolStripMenuItem_Click(object sender, EventArgs e) { this.Visible = true;//可见 this.WindowState = FormWindowState.Normal;//正常显示 this.ShowInTaskbar = false;//在任务栏中显示该窗口 } private void 退出ToolStripMenuItem_Click(object sender, EventArgs e) { this.Close();//退出程序 }
4.接下来是最关键的一步,是将 contextMenuStrip 和 NotifyIcon联系起来的操作,如下图:
ok,到这里的话整个托盘显示的过程已经完成了,以上功能亲测过,如果上文有写错的地方或者有不理解的可以欢迎留言指正。