Home  >  Article  >  Backend Development  >  C# Tray Program Example Double-click to display the form and minimize it to the tray

C# Tray Program Example Double-click to display the form and minimize it to the tray

黄舟
黄舟Original
2017-03-01 10:52:261653browse

Click on the taskbar to show-hide switch, right-click menu, capture the close form event

 public partial class frmMain : Form
    {
        public frmMain()
        {
            InitializeComponent();
        }


        #region 注销


        public void Logout()
        {
            if (MessageBox.Show("确认要退出吗?", "提示", MessageBoxButtons.OKCancel) == DialogResult.OK)
            {
                notifyIcon1.Visible = false;
                FormCollection fc = Application.OpenForms;
                if (fc != null && fc.Count > 0)
                {
                    foreach (Form window in fc)
                    {
                        window.Hide();
                    }
                }
                CacheHelper.CurrentUsrName = "";
                CacheHelper.CurrentRoleId = 0;
                frmLogin fl = new frmLogin();
                fl.Show();
            }


        }


        private void 注销登陆ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Logout();
        }


        #endregion


        #region 修改密码


        private void 修改密码ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            frmChangePwd fcp = new frmChangePwd();
            fcp.Show();
        }


        #endregion


        private void frmMain_Load(object sender, EventArgs e)
        {


        }


        private void frmMain_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (MessageBox.Show("确认要退出吗?", "提示", MessageBoxButtons.OKCancel) == DialogResult.OK)
            {
                Logout();
            }
            else
            {
                e.Cancel = true;
            }
        }


        private void 最大化ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            ShowWin();
        }


        private void 退出ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Logout();
        }


        private void frmMain_SizeChanged(object sender, EventArgs e)
        {
            if (this.WindowState == FormWindowState.Minimized)
            {
                HideWin();
            }
        }


        private void notifyIcon1_MouseClick(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Right)
            {
                contextMenuStrip1.Show(MousePosition.X, MousePosition.Y);
            }
            else
            {
                ShowWin();
            }
        }


        #region 隐藏显示窗体


        /// <summary>
        /// 隐藏窗体
        /// </summary>
        private void HideWin()
        {
            this.notifyIcon1.Visible = true;
            this.Hide();
        }


        /// <summary>
        /// 显示主窗体
        /// </summary>
        private void ShowWin()
        {
            if (Visible)
            {
                HideWin();
            }
            else
            {
                /////这里注意顺序很重要,先show 后设置state
                Show();
                WindowState = FormWindowState.Normal;
            }
        }


        #endregion
    }

The above is the C# tray program example. Double-click to display the form, minimize to the tray. For more related content, please Follow the PHP Chinese website (www.php.cn)!


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn