C# 托盘程序 实例 双击显示窗体,最小化到托盘

大家讲道理
大家讲道理 原创
2016-11-10 09:15:52 1339浏览

单击任务栏 显示-隐藏切换,右键菜单,捕捉关闭窗体事件

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 隐藏显示窗体  
   
   
       ///   
       /// 隐藏窗体  
       ///   
       private void HideWin()  
       {  
           this.notifyIcon1.Visible = true;  
           this.Hide();  
       }  
   
   
       ///   
       /// 显示主窗体  
       ///   
       private void ShowWin()  
       {  
           if (Visible)  
           {  
               HideWin();  
           }  
           else 
           {  
               /////这里注意顺序很重要,先show 后设置state  
               Show();  
               WindowState = FormWindowState.Normal;  
           }  
       }  
  
  
       #endregion  
   }


声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。