• 技术文章 >后端开发 >C#.Net教程

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

    黄舟黄舟2017-03-01 10:52:26原创805
    单击任务栏 显示-隐藏切换,右键菜单,捕捉关闭窗体事件

     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中文网(m.sbmmt.com)!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:c# 中CountDownEvent的使用 下一篇:在C#实现托盘效果的详细介绍
    PHP编程就业班

    相关文章推荐

    • 分享一道逻辑面试题,看看你能答对吗!• C++设计模式浅识装饰模式• c语言中形参的缺省存储类别是什么• asp.net 图片验证码的HtmlHelper• SUNWEN教程之----C#进阶(五)

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网