C# 托盘程序(自己的)

制作托盘程序的关键是VS里面的NotifyIcon控件

这个小例子使窗体最大化和最小化按钮隐藏,关闭按钮失效成为隐藏按钮,双击托盘图标显示主窗体,右键点击弹出菜单

1、

在C#界面拖出一个notifyIcon1,设置相关属性(我是初学者),或者在代码里面写


3个Balloon*属性分别是托盘气泡的图标、内容、标题(例如用在下面的FormClosing事件)

ContextMenuStrip属性是下面将要用到的右键托盘图标时关联的弹窗

Icon属性就是给托盘添加图标

Text属性是当鼠标停留在托盘图标时的提示信息。

2、

在界面拖出一个contextMenuStrip1并添加“嘿嘿”和“退出”


全部代码:

using System;

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


namespace test
{
    public partial class Form16托盘 : Form
    {
        public Form16托盘()
        {
            InitializeComponent();
        }


        private void Form16托盘_Load(object sender, EventArgs e)
        {            
            //this.WindowState = System.Windows.Forms.FormWindowState.Minimized;
            this.MaximizeBox = false;
            this.MinimizeBox = false;
        }


        private void 嘿嘿ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            //this.WindowState = System.Windows.Forms.FormWindowState.Normal;
            this.Show();
        }


        private void 退出ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            notifyIcon1.Dispose();//释放托盘资源
            Application.Exit();//释放所有资源
            
        }


        private void Form16托盘_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (e.CloseReason == CloseReason.UserClosing)
            {
                e.Cancel = true;
                this.Hide();
                notifyIcon1.BalloonTipTitle = "Title";
                notifyIcon1.BalloonTipText = "程序还在继续运行......" + "\r\n" + "单击托盘图标还原窗口.";
                notifyIcon1.ShowBalloonTip(2000);
            }
        }


        private void notifyIcon1_DoubleClick(object sender, EventArgs e)
        {
            this.Show();
        }
    }

}

转载e.CloseReason属性

if (e.CloseReason != System.Windows.Forms.CloseReason.WindowsShutDown)
{
                e.Cancel = true;
                this.WindowState = System.Windows.Forms.FormWindowState.Minimized;
}

e.CloseReason属性,其值为CloseReason枚举类型

成员名称 说明
ApplicationExitCall      Application 类的 Exit 方法被调用。  
FormOwnerClosing         所有者窗体正在关闭。
MdiFormClosing           此多文档界面 (MDI) 窗体的父窗体正在关闭。
None                     关闭原因未定义或者无法确定。
TaskManagerClosing Microsoft Windows
                          任务管理器正在关闭应用程序。
UserClosing              用户正在通过用户界面 (UI) 关闭该窗体,例如通过单击窗体窗口上的“关闭”按钮,通过选择窗口控制菜单上的“关闭”按钮,或者通过按 Alt+F4 等方式关闭。
WindowsShutDown          操作系统正在关闭所有应用程序以便准备关机。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值