首頁  >  文章  >  後端開發  >  C# 托盤程式 實例 雙擊顯示窗體,最小化到托盤

C# 托盤程式 實例 雙擊顯示窗體,最小化到托盤

黄舟
黄舟原創
2017-03-01 10:52:261653瀏覽

點選任務列 顯示-隱藏切換,右鍵選單,捕捉關閉窗體事件

 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
    }

 以上就是C#  托盤程式實例 雙擊顯示窗體,最小化到托盤 的內容,更多相關內容請關注PHP中文網(www.php.cn)!


#
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn