c# 托盘程序

原创 2007年09月27日 15:54:00

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;
            }
                  
        }

    }

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

C#-WinForm设置托盘程序

背景现在很多程序都有这样的托盘程序 窗体关闭时,并不真正关闭程序,只是任务栏不显示该应用程序,在右下侧托盘里显示; 双击托盘,窗体还原; 右击窗体,出现托盘菜单,实现最小化,最大户,还原,退出等...
  • gatieme
  • gatieme
  • 2015年08月08日 11:50
  • 5283

C# winForm程序开机启动和托盘显示

这段时间一直在学习C#,看了书然后又在网上看了N多大神些的blog,然后自己学着做了一个像QQ托盘图标那样的小功能的Demo:         (1)、在窗口上点击关闭按钮或者最小化时将托盘显示; ...

C# winForm程序开机启动和托盘显示

此文章是本人转载,但还没有验证。 这段时间一直在学习C#,看了书然后又在网上看了N多大神些的blog,然后自己学着做了一个像QQ托盘图标那样的小功能的Demo:         (1)、在窗口上点...
  • valeb
  • valeb
  • 2012年08月12日 11:09
  • 306

C#Windows 窗体设计-实现欢迎界面-显示About窗体-在托盘中写入应用程序图标

1. private void Form1_Load(object sender, EventArgs e) { //MessageBox.Show("将窗...

C# 托盘程序(自己的)

制作托盘程序的关键是VS里面的NotifyIcon控件 这个小例子使窗体最大化和最小化按钮隐藏,关闭按钮失效成为隐藏按钮,双击托盘图标显示主窗体,右键点击弹出菜单 1、 在C#界面拖出一个not...

利用c#制作托盘程序,并禁止多个应用实例运行

转载自:http://www.cnblogs.com/yjmyzz/articles/1021058.html 托盘程序的制作: 1.把NotifyIcon控件拉一个到窗体上,并设置Notify...

C#WinForm程序最小化后在托盘中隐藏方法以及几个关键点的简单分析

在做一个小程序时遇到这样一个问题,最小化Form程序后,想在托盘中隐藏,同时在任务栏中显示,双击任务栏图标再将程序显示出来。 因此在网上找了找,找到一篇实现的帖子。方法还不错,网上的实践方法也基本引...
  • skygpan
  • skygpan
  • 2011年11月28日 12:51
  • 1327

利用c#制作托盘程序,并禁止多个应用实例运行

托盘程序的制作: 1.把NotifyIcon控件拉一个到窗体上,并设置NotifyIcon的Icon(很重要!否则运行后看不到效果) 2.窗体关闭时,将程序最小化到系统托盘上 //开...

C# 程序关闭托盘图标不会自动消失

调试winform程序的时候使用托盘图标遇到关闭了程序但是托盘图标并没有消失的情况,但是鼠标滑过图标就消失了,这样软件打开关闭次数多了会出现在托盘堆积大量图标的情况,开始以为是操作系统刷新问题,后来使...

C# 托盘程序

此文章是转载的 所谓托盘程序顾名思义就是象托起的盘子一样的程序。而所谓的托起的盘子就是程序运行中显示出的图标,而托起的位置就是视窗系统的的工具栏了。托盘程序具有直观、占用屏幕空间较小并且可以为它定义...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:c# 托盘程序
举报原因:
原因补充:

(最多只允许输入30个字)