【C#】关闭程序显示在任务栏右下角

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/jianghappyboy/article/details/79219976

前言

一般From最小化会使Form都会缩小到任务栏上,但是是以Form的标题栏的形式显示。

实现将程序缩小到右下角的任务栏,还需要给Form添加一个NotifyIcon控件,代码如下

            if (this.WindowState == FormWindowState.Normal && this.Visible == true)
            {
                this.notifyIcon1.Visible = true;//在通知区显示Form的Icon
                this.WindowState = FormWindowState.Minimized;
                this.Visible = false;
                this.ShowInTaskbar = false;//使Form不在任务栏上显示
            }

实现方法

WinForm窗口最小化到系统托盘右击托盘图标弹出退出菜单

1、在Form上加Notifyicon控件myicon,为控件的属性Icon添加一个icon图标,Text为鼠标在图标上时显示的tip。

2、在From1_FormClosing中设置Form的ShowInTaskbar属性

3、在myicon_MouseClick事件中设置Form的ShowInTaskbar和WindowState属性

4、添加ContextMenuStrip控件myMenu,右键托盘图标弹出菜单,设置myIcon的ContextMenuStrip属性为myMenu。在myMenu中添加item(退出)。

myIcon在MouseClick事件中,判断右键点击并弹出ContextMenuStrip。

代码如下:

        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (e.CloseReason == CloseReason.UserClosing)//当用户点击窗体右上角X按钮或(Alt + F4)时 发生          
            {
                e.Cancel = true;
                this.ShowInTaskbar = false;
                this.myIcon.Icon = this.Icon;
                this.Hide();
            }
        }

        private void myIcon_MouseClick(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Right)
            {
                myMenu.Show();
            }

            if (e.Button == MouseButtons.Left)
            {
                this.Visible = true;
                this.WindowState = FormWindowState.Normal;
            }
        }

        private void toolMenuCancel_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }



展开阅读全文

没有更多推荐了,返回首页