首页 程序笔记 winform最小化到系统托盘

winform最小化到系统托盘

在 WinForms 中,你可以实现将应用程序最小化到系统托盘的功能。以下是实现该功能的一般步骤:

添加命名空间引用:

确保你的项目中引用了以下命名空间:

using System.Windows.Forms;

创建一个 NotifyIcon 控件:

在你的主窗体中添加一个 NotifyIcon 控件。你可以在 Visual Studio 的窗体设计器中拖拽并放置一个 NotifyIcon 控件。

设置 NotifyIcon 属性:

在 NotifyIcon 控件上右键点击,选择 "属性"。然后在属性窗口中进行如下设置:

Icon: 设置显示在系统托盘中的图标,可以选择一个图标文件。 Text: 设置当鼠标悬停在系统托盘图标上时显示的文本。 Visible: 设置为 true,使 NotifyIcon 控件可见。

编写代码实现最小化到系统托盘:

在主窗体的 Resize 事件中添加代码,使应用程序在最小化时隐藏主窗体,并显示系统托盘图标。在 Resize 事件处理程序中添加以下代码:

private void Form1_Resize(object sender, EventArgs e)
{
    if (WindowState == FormWindowState.Minimized)
    {
        Hide(); // 隐藏主窗体
        notifyIcon1.Visible = true; // 显示系统托盘图标
    }
}

恢复应用程序:

在 NotifyIcon 控件的 MouseDoubleClick 事件中添加代码,以便在双击系统托盘图标时恢复应用程序。在 MouseDoubleClick 事件处理程序中添加以下代码:

private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e)
{
    Show(); // 显示主窗体
    WindowState = FormWindowState.Normal; // 恢复正常大小
    notifyIcon1.Visible = false; // 隐藏系统托盘图标
}

现在你的应用程序就能实现最小化到系统托盘的功能。当用户将窗体最小化时,主窗体会隐藏,并在系统托盘中显示一个图标。双击系统托盘图标时,应用程序将恢复到正常大小。记得为系统托盘图标添加合适的上下文菜单,以提供用户其他操作选项。

站心网

在 WinForms 中,你可以实现将应用程序最小化到系统托盘的功能。以下是实现该功能的一般步骤: 添加命名空..

为您推荐

如何设计功能测试用例

最近招聘面试测试工程师,发现很多测试工程师都是半路出家,对一些基本的测试概念,思路与技术没有认知。在设计测试用例的时候只是基于直觉与经验去测试。这就导致测试用例的设计既不全面,也不科学。一般功能测试指..

详解:订单履约系统规划

大家好,我是汤师爷~什么是订单履约系统?订单履约是从消费者下单支付到收到商品的全流程管理过程,包括订单接收、订单派单、库存分配、仓储管理和物流配送等环节,核心目标是确保商品准时、准确地送达消费者手中。..

使用 html2canvas 实现截图功能

html2canvas 是一个开源的 JavaScript 库,用于将网页上的 HTML 元素渲染成图像。它通过遍历页面的 DOM 树和计算样式,然后将其绘制到 <canvas> 元素上,最终生成图片。该库不依赖服务器端,而是通过浏览器端的 Java..

C#使用 Attribute 实现 AOP 功能

在 C# 中,通过自定义 Attribute 并结合一些技术(如动态代理、反射等)可以实现 AOP(面向切面编程)。AOP 通常用于日志记录、性能监控、权限验证等横切关注点。以下是一个使用 C# Attribute 实现 AOP 功能的示例。..

.NET 9 中System.Text.Json 的新增功能

在 .NET 9 中,System.Text.Json 进行了多个重要的更新和增强,进一步提升了 JSON 处理的性能、灵活性和易用性。以下是 .NET 9 中 System.Text.Json 的一些主要新增功能:1. 类型转换器 (Type Converters) 支持.NET ..

LinkWeChat开源系统

平台介绍LinkWeChat是一款基于企业微信的开源SCRM系统,为企业构建私域流量系统的综合解决方案,显著提升企业社交运营效率!内置功能环境部署准备工作JDK >= 1.8 (推荐1.8版本)Mysql >= 5.5.0 (推荐5.7版本)Redis >=..

每一个程序员,都希望能成为分布式系统架构师

有很多读者经常问我,程序员的学习、成长之路应该怎么规划,才能早日成为一名架构师。作为一个曾经的架构师,在我走上技术管理这条路之后,管理的团队越来越大,现在我管理的技术团队有一百多人,最大的体会就是操心..

鸿蒙OpenHarmony系统可以运行跨平台的.NET Core吗?

鸿蒙(HarmonyOS)和 OpenHarmony 系统本身并不原生支持直接运行 .NET Core,但可以通过一些方法使 .NET Core 应用在其上运行。鸿蒙和 OpenHarmony 是基于 LiteOS 和 Linux 内核的多终端操作系统,因此它们的运行时..

.NET 9 即将推出的功能Task.WhenEach

.NET 爱好者!我刚刚偶然发现了一个非常酷的新 PR,它被合并到 .NET 运行时存储库中,我想分享一个例子。希望您能为新的 .NET 版本大肆宣传!在即将到来的 .NET 9 版本中,我们预计会有一个名为 .它在这里让您的异步..

Winform不同分辨率系统下界面混乱

产生界面混乱的主要原因是,winform程序的坐标是基于点(Point)的,而Point又与DPI相关。一英寸 = 96pixels96DPI是windows的默认DPI,当它被用户更改后,可能就会导致界面与设计之初产生了错乱。在网上搜索相关资料后..

类似php iconv的函数功能,C#实现方法

在与一个第三方接口对接时,发现对方无法用GZip解压我发过去的数据,看了对方PHP的示例代码,发现对方使用的是PHP的$file = iconv("IOS-8859-1","UTF-8",gzencode($data_json));大致意思是要先压缩,在把压缩的数组..

winform listview 双击事件

在WinForms中,你可以使用ListView控件的DoubleClick事件来处理双击事件。以下是一个示例代码:using System;using System.Windows.Forms;public class Form1 : Form{private ListView listView1;public Form1(){Ini..

winform listview 右键弹出菜单

要在WinForms的ListView控件上实现右键弹出菜单,你可以使用ContextMenu或ContextMenuStrip控件。以下是一个示例代码:using System;using System.Windows.Forms;public class Form1 : Form{private ListView listVi..

winform如何隐藏边框和标题栏

在WinForms中,可以通过以下步骤来隐藏窗体的边框和标题栏:打开WinForms应用程序的窗体设计器。选择窗体控件,然后在属性窗口中找到FormBorderStyle属性。将FormBorderStyle属性设置为None,以指示窗体不显示边框。..

系统架构7个非功能性需求

在软件系统里面,功能性需求是面向用户、详细明确的需求,由产品人员根据市场的需要提炼出来,是产品生命周期里最重要的一环。比如电商系统里面的优惠券功能,通常包含需求:优惠券分类、细分领券人群、核销优惠券等..

Quartz.NET-面向.NET的开源作业调度系统

什么是Quartz.NETQuartz.NET是一个流行的开源作业调度框架,可以用于在.NET应用程序中进行作业调度。它是Quartz调度器的.NET实现,提供了高度可定制化的作业调度功能,支持复杂的作业调度需求。Quartz.NET可以让您创..

使用剪映图文成片功能将文章转为视频教程

最近因为ChatGPT的火爆也带火了很多AI工具,今天试用了剪映,它有一个图文成片的功能很强大,我用它尝试把一篇文章转为视频。首先准备文章内容,我直接复制了网站里的这边文章:https://www.leavescn.com/Articles/C..

4款功能强大桌面虚拟机软件推荐

虚拟机软件是现代计算机中必不可少的工具之一,它可以让我们在一台计算机上运行多个操作系统,这为开发人员、测试人员以及研究人员带来了很多便利。在这里,我们将探讨四款最强大的桌面虚拟机软件:VMware Workstati..

C# winform实现文件下载进度条功能

C#在winform中使用HttpClient类来执行文件下载,并结合ProgressBar控件来显示进度条。下面演示如何获取文件下载的状态并实现进度条功能:using System;using System.IO;using System.Net.Http;using System.Windows...

C# WinForm使用CefSharp内嵌网页

CefSharp 是一个用于在 .NET 应用程序中嵌入 Chromium Web 浏览器的开源库。它允许你使用 C# 或其他 .NET 语言来控制 Chromium,这意味着你可以在你的应用程序中实现现代、高性能的 Web 浏览器。以下是 CefSharp 的..

发表回复

返回顶部