C#最小化到托盘的方法

1.在窗体设计的工具箱中拖出一个NotifyIcon

自动命名为notifyIcon1,如有需要可以更改名字,这个控件是最小化到托盘的图标,可以先将它的Icon属性设置为你自己的图标。

2.创建窗体Resize方法。

private void MainForm_Resize(object sender, EventArgs e)
        {
            if (this.WindowState == FormWindowState.Minimized)    //最小化到系统托盘
            {
                notifyIcon1.Visible = true;    //显示托盘图标
                this.Hide();    //隐藏窗口
                notifyIcon1.ShowBalloonTip(0, "提示", "我在后台运行哦!", ToolTipIcon.Info);
            }
        }
3.(可选)创建窗体FormClosing方法,如果点关闭按钮不需要最小化到托盘,则跳过此步

private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
        {
            //注意判断关闭事件Reason来源于窗体按钮,否则用菜单退出时无法退出!
            if (e.CloseReason == CloseReason.UserClosing)
            {
                e.Cancel = true;    //取消"关闭窗口"事件
                this.WindowState = FormWindowState.Minimized;    //使关闭时窗口向右下角缩小的效果
                notifyIcon1.Visible = true;
                this.Hide();
                notifyIcon1.ShowBalloonTip(0, "提示", "我在后台运行哦!", ToolTipIcon.Info);
                return;
            }
        }
4.创建NotifyIcon的MouseDoubleClick方法,目的是为了双击时能显示该窗口

private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            //notifyIcon1.Visible = false;
            this.Show();
            WindowState = FormWindowState.Normal;
            this.Focus();
        }

5.在窗体设计工具箱中拖出一个ContextMenuStrip,命名为contextMenuStrip1,目的是给托盘图标增加右键菜单(关闭、显示)

6.将ContextMenuStrip与之前创建的NotifyIcon关联

设置NotifyIcon的ContextMenuStrip属性,值为contextMenuStrip1

7.为右键菜单的“关闭”按钮设置关闭ToolStripMenuItem_Click方法

private void 关闭ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }


你可能感兴趣的:(学习笔记)