C# 实现最小化托盘功能

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,到这里的话整个托盘显示的过程已经完成了,以上功能亲测过,如果上文有写错的地方或者有不理解的可以欢迎留言指正。

猜你喜欢

转载自www.cnblogs.com/guhuazhen/p/11095037.html