当前位置: 首页 > news >正文

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
    }


相关文章:

  • Myeclipse6.0的破解方法
  • 免费的网页原型制作工具
  • c#获取机器码
  • 稻 香
  • Access获取年月日
  • C# EXCEL导入 混合列读取文字为空的解决办法
  • 推荐系统管理员一读的书!
  • sql 2005 用户 sa 登录失败,该用户与可信SQL Server连接无关联 错误18452
  • linux的shell中,日期格式校验
  • ASP.NET MVC 中 Ajax.ActionLink 的使用
  • asp.net mvc2 数据验证方法
  • asp.net mvc 路由机制小记
  • mvc 中使用jquery ajax与action传值
  • asp.net MVC Controller 小记
  • access 如何让ID列重新开始
  • 【跃迁之路】【463天】刻意练习系列222(2018.05.14)
  • 2019.2.20 c++ 知识梳理
  • Android单元测试 - 几个重要问题
  • Apache Pulsar 2.1 重磅发布
  • css系列之关于字体的事
  • es6要点
  • leetcode讲解--894. All Possible Full Binary Trees
  • overflow: hidden IE7无效
  • PHP 小技巧
  • PHP的类修饰符与访问修饰符
  • ReactNativeweexDeviceOne对比
  • Spark VS Hadoop:两大大数据分析系统深度解读
  • windows下mongoDB的环境配置
  • 猴子数据域名防封接口降低小说被封的风险
  • 回顾 Swift 多平台移植进度 #2
  • 前端每日实战:70# 视频演示如何用纯 CSS 创作一只徘徊的果冻怪兽
  • 事件委托的小应用
  • 思维导图—你不知道的JavaScript中卷
  • 吴恩达Deep Learning课程练习题参考答案——R语言版
  • 用jQuery怎么做到前后端分离
  • raise 与 raise ... from 的区别
  • ​二进制运算符:(与运算)、|(或运算)、~(取反运算)、^(异或运算)、位移运算符​
  • ​一文看懂数据清洗:缺失值、异常值和重复值的处理
  • # Panda3d 碰撞检测系统介绍
  • #if #elif #endif
  • (4)Elastix图像配准:3D图像
  • (day 2)JavaScript学习笔记(基础之变量、常量和注释)
  • (阿里云万网)-域名注册购买实名流程
  • (附源码)计算机毕业设计ssm电影分享网站
  • (附源码)计算机毕业设计SSM疫情社区管理系统
  • (含react-draggable库以及相关BUG如何解决)固定在左上方某盒子内(如按钮)添加可拖动功能,使用react hook语法实现
  • (南京观海微电子)——COF介绍
  • (十八)三元表达式和列表解析
  • (一)C语言之入门:使用Visual Studio Community 2022运行hello world
  • (转)http协议
  • (转)机器学习的数学基础(1)--Dirichlet分布
  • (转)我也是一只IT小小鸟
  • ***汇编语言 实验16 编写包含多个功能子程序的中断例程
  • .NET Framework 4.6.2改进了WPF和安全性
  • .net企业级架构实战之7——Spring.net整合Asp.net mvc