0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

C#-实现程序托盘

汽车电子技术 来源:程序猿知秋 作者:程序猿知秋 2023-02-28 09:44 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

图片

程序托盘

我们做的很多程序都要求实现托盘功能,比如之前常用的qq或微信 等等。 本文以简单的Demo来演示托盘程序

效果演示 ( 注:本案例用的是qq的图标

图片

素材准备

两个** icon 格式 的图片 (一个表示在线,一个表示离线)**,用来作为程序托盘的图标

第一步:将 NotifyIcon 控件,拖到主窗体中,并在窗体中添加两个按钮(在线、离线)

图片

第二步:将contextMenuStrip控件,拖到主窗体中

  • 设置一个 **退出 **菜单 ( 用作,鼠标在托盘图标右键菜单
  • 双击 退出 ,自动生成单击方法。 在方法中编写代码 this.Close(); 表示关闭程序
  • 将上面的** notifyicon 控件**的 contextMenuStrip 属性 ,设置为当前的 contextMenuStrip

图片

图片

图片

第三步:在主窗体的 Form1_Load 方法中初始化 notifyicon的属性

  • 在项目中新建一个文件夹 ,重命名为 icon,用来存放使用到的ico 图标*(放到资源管理中也行)*
  • 在Form1_Load 方法中初始化 notifyicon的属性

图片

private void Form1_Load(object sender, EventArgs e)
{
  // 初始化
  this.notifyIcon1.Icon = new Icon(@"D:\\c#workspace\\练习demo\\托盘程序实现\\icon\\qq彩色.ico");
  this.notifyIcon1.Visible = true; //显示图标
  this.notifyIcon1.Text = "在线";  // 鼠标悬浮图标上时 提示文案
}

第四步:给主窗体添加一个 FormCloing 事件(表示关闭程序时可进入托盘)

图片

private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
  DialogResult result = MessageBox.Show("是否退出?选否,最小化到托盘", "操作提示", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
  if (result == DialogResult.Yes)
  {
    this.Dispose();
    Application.Exit();
  }
  else
  {
    e.Cancel = true;
    this.WindowState = FormWindowState.Minimized;
    this.Visible = false;
    this.notifyIcon1.Visible = true;
  }
}

第五步:给托盘图标添加一个鼠标单击事件,程序托盘后用来打开程序界面

图片

private void notifyIcon1_MouseClick(object sender, MouseEventArgs e)
{
  // 单击左键,打开程序
  if (e.Button == MouseButtons.Left)
  {
    this.Show();
    this.Focus();
    this.WindowState = FormWindowState.Normal;
  }
}

第六步:添加 在线与离线按钮的单击事件,代码逻辑如下

  • 在线:将托盘图标更换成表示 **在线 **的图片
  • 离线:将托盘图标更换成表示 **离线 **的图片
private void button1_Click(object sender, EventArgs e)
{
  this.notifyIcon1.Icon = new Icon(@"D:\\c#workspace\\练习demo\\托盘程序实现\\icon\\qq彩色.ico");
  this.notifyIcon1.Text = "在线";
}


private void button2_Click(object sender, EventArgs e)
{
  this.notifyIcon1.Icon = new Icon(@"D:\\c#workspace\\练习demo\\托盘程序实现\\icon\\qq黑白色.ico");
  this.notifyIcon1.Text = "离线";
}

完成以上步骤,托盘程序即可正常运行!!!!

最后注意,托盘的图标必须是 icon 格式的图片!!!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 功能
    +关注

    关注

    3

    文章

    590

    浏览量

    30135
  • 程序
    +关注

    关注

    117

    文章

    3836

    浏览量

    84745
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    怎样实现labview程序最小化到托盘

    自己做了一个小秒表,想最小化到托盘,怎样实现!求助!
    发表于 03-14 22:44

    《Visual C# 2008程序设计经典案例设计与实现》---只能运行一次的托盘程序

    《Visual C# 2008程序设计经典案例设计与实现》---只能运行一次的托盘程序[hide][/hide]
    发表于 05-13 19:24

    《Visual C# 2008程序设计经典案例设计与实现》---托盘动画图标程序

    《Visual C# 2008程序设计经典案例设计与实现》---托盘动画图标程序[hide][/hide]
    发表于 05-13 19:40

    荣小菜补钙记第32期:LabVIEW之如何实现应用程序最小化托盘

    `荣小菜补钙记第32期:LabVIEW之如何实现应用程序最小化托盘 同步更新于 WeChat:荣小菜在补钙大家好,我是荣小菜,也可以叫我Richie,本期分享的是让程序具有最小化
    发表于 05-15 14:37

    Delphi教程之将程序图标设置到Windows系统托盘

    Delphi教程之将程序图标设置到Windows系统托盘,很好的Delphi资料,快来下载吧。
    发表于 04-11 15:59 5次下载

    《Visual C# 2008程序设计经典案例设计与实现》---

    《Visual C# 2008程序设计经典案例设计与实现》---动态获取当前程序的图标
    发表于 02-07 11:44 0次下载

    《Visual C# 2008程序设计经典案例设计与实现》---

    《Visual C# 2008程序设计经典案例设计与实现》---托盘动画图标程序
    发表于 02-07 11:43 0次下载

    《Visual C# 2008程序设计经典案例设计与实现》---

    《Visual C# 2008程序设计经典案例设计与实现》---滚动字幕屏幕保护程序
    发表于 02-07 11:40 0次下载

    《Visual C# 2008程序设计经典案例设计与实现》---

    《Visual C# 2008程序设计经典案例设计与实现》---只能运行一次的托盘程序
    发表于 02-07 12:30 0次下载

    《Visual C# 2008程序设计经典案例设计与实现》---

    《Visual C# 2008程序设计经典案例设计与实现》---VisualC#2008与Web应用程序
    发表于 01-18 20:23 0次下载

    C语言教程之如何进行最简单的C程序设计实现程序说明

    本文档的主要内容详细介绍的是C语言教程之如何进行最简单的C程序设计实现程序说明。
    发表于 11-02 10:53 2次下载

    RFID托盘实现物流仓储墨水屏电子纸标签可视化跟踪系统的应用体现

    晨控智能将RFID电子标签应用于托盘上,对托盘进行智能化的管理,通过托盘标识的方式让仓储管理实现仓库自动化、信息化、数字化管理。RFID技术仓储物流
    发表于 01-04 10:52 1051次阅读
    RFID<b class='flag-5'>托盘</b><b class='flag-5'>实现</b>物流仓储墨水屏电子纸标签可视化跟踪系统的应用体现

    RFID托盘标签的介绍及应用

    RFID托盘标签是一种专门用于托盘管理和物流追踪的RFID标签,它通过无线通信方式实现数据的自动采集和传输,广泛应用于仓储、物流、供应链管理等领域,可根据应用环境要求选择PVC材质或ABS材质或
    的头像 发表于 03-19 09:29 703次阅读
    RFID<b class='flag-5'>托盘</b>标签的介绍及应用

    RFID托盘标签的应用

    RFID托盘标签是一种专门用于物流和仓储管理中托盘识别的电子标签。它通过无线电波进行数据读写和物体识别,能够实现非接触式的数据交互。与传统的条形码相比,RFID托盘标签具有更高的效率、
    的头像 发表于 04-08 17:13 590次阅读
    RFID<b class='flag-5'>托盘</b>标签的应用

    RFID托盘标签在托盘智能管理中的应用

    岳冉RFID托盘标签的应用,以智能化、自动化、可视化为核心,为托盘管理注入全新动能,助力企业实现降本增效与数字化转型,已成功应用于汽车制造、冷链物流、医药仓储、零售电商等领域。
    的头像 发表于 05-06 11:11 423次阅读