关闭

c# 托盘程序

3246人阅读 评论(0) 收藏 举报

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Resources;

namespace test
{
    public partial class Form1 : Form
    {
        public Form1()  //过早函数
        {
            InitializeComponent();


            /// 初始化推盘程序参数
            this.notifyIconServer.ContextMenuStrip = this.txtMenu;  //托盘关联的菜单
            this.notifyIconServer.Text = "测试托盘程序";
            this.notifyIconServer.Icon = new Icon(Application.StartupPath + @"/tray.ico");
            this.notifyIconServer.Visible = false;  //隐藏托盘

            this.ShowInTaskbar = false; //设置不再任务栏中显示图标
        }
        /// <summary>
        /// 是否关闭窗口
        /// </summary>
        private bool IsClose = false;
        /// <summary>
        /// 托盘图像
        /// </summary>
        private NotifyIcon notifyIconServer = new NotifyIcon();

       
        /// <summary>
        /// 获取或设置是否关闭主窗体
        /// </summary>
        private bool getIsColse
        {
            set { this.IsClose = value; }
            get { return this.IsClose; }
        }
        /// <summary>
        /// 快捷菜单打开事件
        /// </summary>
        private void menuOpen_Click(object sender, EventArgs e)
        {
            this.WindowState = FormWindowState.Maximized; //指定窗体最大化
        }
        /// <summary>
        /// 快捷菜单关闭事件
        /// </summary>
        private void mentClose_Click(object sender, EventArgs e)
        {
            this.getIsColse = true;
            this.Close();
        }

        /// <summary>
        /// 窗体大小改变时激发的事件
        /// </summary>
        private void Form1_Resize(object sender, EventArgs e)
        {
            if (this.WindowState == FormWindowState.Maximized)
            {
                this.notifyIconServer.Visible = false; //隐藏托盘
            }
            if (this.WindowState == FormWindowState.Minimized)
            {
                this.notifyIconServer.Visible = true;  //显示托盘
            }
        }

        /// <summary>
        /// 窗体关闭前激发的事件
        /// </summary>
        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (this.getIsColse)
            {
                this.notifyIconServer.Visible = false;
            }
            else
            {
                e.Cancel = true;
                this.WindowState = FormWindowState.Minimized;
                this.notifyIconServer.Visible = true;
            }
                  
        }

    }

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:653893次
    • 积分:8275
    • 等级:
    • 排名:第2498名
    • 原创:221篇
    • 转载:26篇
    • 译文:2篇
    • 评论:89条
    最新评论