| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
jopen
10年前发布

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

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

    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           }