WPF利用NotifyIcon创建任务栏图标(菜鸟教程)

article/2025/11/6 2:01:43

学习目标:

记录从WPF应用创建开始,一步步到任务栏图标创建的全过程。

流程:

1、环境:Win10 + VS2017

打开VS2017,选择文件 -> 新建 -> 项目 -> Visual C# -> Windows桌面 ->WPF应用 -> 更改项目名为 TasbarIcon -> 确定
在这里插入图片描述

2、添加图标类

右键项目 -> 添加 ->引用,找到System.Windows.Forms 和 System.Drawing两个程序集,打上勾添加进去。
在这里插入图片描述

双击打开App.xaml.cs文件,在 namespace TaskbarIcon 里面添加图标类代码

//App.xaml.cs
namespace TaskbarIcon
{public partial class App : Application{}public class myIcon{//任务栏图标System.Windows.Forms.NotifyIcon notifyIcon = null;public void Icon(){//创建图标this.notifyIcon = new System.Windows.Forms.NotifyIcon();//程序打开时任务栏会有小弹窗this.notifyIcon.BalloonTipText = "PalmServer is running...";//鼠标放在图标上时显示的文字this.notifyIcon.Text = "PalmServer";//图标图片的位置,注意这里要用绝对路径this.notifyIcon.Icon = new System.Drawing.Icon("E:/WPF prroject/WpfApp4/WpfApp4/sheep.ico");//显示图标this.notifyIcon.Visible = true;//右键菜单--退出菜单项System.Windows.Forms.MenuItem exit = new System.Windows.Forms.MenuItem("Quit");exit.Click += new EventHandler(CloseWindow);//关联托盘控件System.Windows.Forms.MenuItem[] children = new System.Windows.Forms.MenuItem[] { exit };notifyIcon.ContextMenu = new System.Windows.Forms.ContextMenu(children);this.notifyIcon.ShowBalloonTip(1000);}//退出菜单项对应的处理方式public void CloseWindow(object sender, EventArgs e){//Dispose()函数能够解决程序退出后图标还在,要鼠标划一下才消失的问题this.notifyIcon.Dispose();//关闭整个程序Application.Current.Shutdown();}}
}

3、使用图标类

先打开 MainWindow.xaml文件,在里面添加closed事件的声明

//MainWindow.xaml
<Window x:Class="TaskbarIcon.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.com/expression/blend/2008"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"xmlns:local="clr-namespace:TaskbarIcon"mc:Ignorable="d"Title="MainWindow" Height="450" Width="800"Closed="Window_Closed"><Grid></Grid>
</Window>

然后在MainWindo.xaml.cs文件里面使用图标类

//MainWindo.xaml.cs
namespace TaskbarIcon
{public partial class MainWindow : Window{public MainWindow(){InitializeComponent();ic = new myIcon();ic.Icon();}myIcon ic;public void Window_Closed(object sender, EventArgs e){ic.CloseWindow(null, null);System.Windows.Application.Current.Shutdown();}}
}

至此,就能创建出自己的程序任务栏图标了!



http://chatgpt.dhexx.cn/article/TEEcUjfy.shtml

相关文章

Notify

1 有什么用 作用 &#xff1a; 解耦&#xff0c;异步&#xff0c;并行 举个栗子 假设我们有这么一个应用场景&#xff0c;为了完成一个用户注册淘宝的操作&#xff0c;可能需要将用户信息写入到用户库中&#xff0c;然后通知给红包中心给用户发新手红包&#xff0c;然后还需…

NotifyICon使用

2010-04-11 15:47 by Ju2ender, 1438 visits, 网摘, 收藏, 编辑 最常见使用NotifyIcon的程序就是QQ了&#xff0c;当初我很好奇这通知区域的小企鹅是如何随着QQ的运行放上去的&#xff0c;这的确是个有趣的技巧。 要是用到自己的程序上的确显得很专业&#xff01;我们来为自己的…

notifyIcon 用法

BalloonTipIcon —— 气泡提示的类型&#xff0c;有None&#xff08;无&#xff09;、Info&#xff08;蓝色感叹号&#xff09;、Warnning&#xff08;黄色感叹号&#xff09;、Error&#xff08;小红叉&#xff09; BalloonTipText —— 气泡提示的内容&#xff0c;如上图的N…

C#如何使用NotifyIcon实现任务栏托盘菜单及气泡提示

以软件【银行业会计人员技能训练系统】为例&#xff0c;如何使用NotifyIcon实现任务栏托盘菜单及气泡提示&#xff1f; 实现系统托盘方法如下&#xff1a; 1、向窗体中添加NotifyIcon控件和ContextMenuStrip控件&#xff1b; 2、为ContextMenuStrip控件添加子项&#xff1b; 3…

C#——NotifyICON的使用

1、作用&#xff08;给程序增加下方提示图标&#xff09; 2、实现方式 1&#xff09;添加NotifyIcon控件&#xff0c;属性中Visible设为true 2)选择要显示的图标(icon格式)&#xff0c;此时已经可以显示小图标&#xff0c;但右击不会显示小菜单栏. 3、添加ContextMenuStrip控…

【学习笔记】C# 动态系统托盘图标的实现 - NotifyIcon控件

操作步骤&#xff1a; 1、创建一个C# Windows窗体应用项目&#xff0c;命名为“IconTwinkle”&#xff1a; 2、双击解决方案中的“Resources.resx”&#xff0c;点击“添加资源”&#xff0c;选择图标并导入&#xff1a; 3、可见选定的图标已导入项目中&#xff1a; 4、双击右…

Android开发之PreferenceActivity和PreferenceFragment

在PreferenceActivity中&#xff0c;给我们提供了四个选项集成控件&#xff1a;ListPreference&#xff0c;EditTextPreference&#xff0c;CheckBoxPreference和RingtonePreference。 注意&#xff1a; 通过PreferenceActivity生成的XML文件&#xff0c;命名方式是定死了的&…

设置PreferenceFragment主题

整个项目主题颜色暗色&#xff0c;在使用PreferenceFragmentCompat文字也是黑色的导致看不清楚&#xff0c;采取更改PreferenceFragmentCompat主题实现&#xff0c;效果如下&#xff1a; 查看PreferenceFragmentCompat源码看到onCreate开始设置Theme&#xff0c;先获取preferen…

PreferenceFragment和PreferenceActivity

提要&#xff1a;PreferenceFragment展示中设置的值可以通过PreferenceManager.getDefaultSharedPreferences(context).来实现 【正文】 一、PreferenceFragment的引入&#xff1a; PreferenceActivity是一个非常有用的基类&#xff0c;当我们开发Android项目时避免不了选项设置…

彻底变换PreferenceFragment样式和全局设置字体样式的解决方案

一、PreferenceFragment样式修改 新样式 直接上图&#xff0c;原样式为白色样式&#xff0c;即为PreferenceFragment的默认样式&#xff1a; ① 白底黑字&#xff1b;② SwitchPreference开关默认为蓝色&#xff1b; ③ ListPreference列表默认为白色&#xff0c;选中状…

Android之PreferenceFragment详解

【正文】 一、PreferenceFragment的引入&#xff1a; PreferenceActivity是一个非常有用的基类&#xff0c;当我们开发Android项目时避免不了选项设置&#xff0c;这些设置习惯用Preference来保存。Android专门为这种Activity提供了便捷的基类PreferenceActivity。如果继承自Pr…

PreferenceActivity和PreferenceFragment实现设置界面

在进行Android开发的过程中&#xff0c;有时需要实现一个设置界面&#xff0c;就像下面的系统的显示设置。这样的界面自己实现起来略显繁琐&#xff0c;好在Android中已经实现了这样的设置界面&#xff0c;那就是PreferenceActivity。并且PreferenceActivity还有一个莫大的好处…

PreferenceFragment设置界面的编写

效果图&#xff1a; 布局文件&#xff1a; <PreferenceScreenxmlns:android"http://schemas.android.com/apk/res/android"xmlns:app"http://schemas.android.com/apk/res-auto"><PreferenceCategoryandroid:title"string/basic_setting…

Android PreferenceFragment

PreferenceFragment用来显示首选项的设置&#xff0c;效果图如下&#xff1a; 主布局文件&#xff1a; <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"xmlns:tools"http://schemas.android.com/tools"android:layout_widt…

PreferenceFragment使用

PreferenceFragment 在Android3.0之前&#xff0c;设置界面使用PreferenceActivity&#xff0c;在Android3.0之后&#xff0c;官方推荐使用PreferenceFragment&#xff0c;对应于碎片化技术。 使用 新建Fragment 新建GeneralPreferenceFragment 继承PreferenceFragment&…

Android设置页面之PreferenceFragment的简单使用示例

1.PreferenceFragment介绍 a.PreferenceFragment实际为Fragment的一个子类 b.创建一个PreferenceFragment需要绑定一个xml来显示视图 c.绑定后没就可以当作普通Fragment使用&#xff0c;只是每new一个实例就会创建一个SharePreference,把之前绑定的xml中的值写入保存&#x…

Personal preference

Personal preference 相关文章Algorithm&#xff1a;Algorithm的进阶之路 目录 程序猿成长之路 Personal 历史问题记录 程序猿成长之路 Personal 1、C:\Users\99386\AppData\Local\kingsoft\WPS Cloud Files\userdata\qing\filecache\jazve的云文档\knowledge 历史问题记录…

PreferenceFragment详解

在上篇文章中我们讲述了Android 5.1 Settings的源码解析Android 5.1 Settings模块源码分析_Flying snow-CSDN博客&#xff0c; 其中在介绍到Android的Sub Setting时&#xff0c;我们说到基本上都是使用的PreferenceFragment技术&#xff0c;今天我们就来了解一下关于Preferenc…

Android进阶——Preference详解之Preference系的基本应用和管理(二)

引言 前面一篇文章Android进阶——Preference详解之初识Preference及Preference系&#xff08;一&#xff09;简单描述下了Preference的家族构成和基本知识&#xff0c;相信对于Preference早已不会陌生&#xff0c;肯定也跃跃欲试了吧&#xff0c;这篇文章就给大家总结下Prefe…

Android自定义PreferenceScreen的Layout布局,并获取控件

先说一下需求&#xff0c;要在<PreferenceScreen>里添加一个自定义的Layout&#xff0c;实现如下效果&#xff1a; 操作步骤&#xff1a; 1、在res/layout目录创建一个xml文件&#xff0c;名为my_preference_layout.xml&#xff0c;代码如下&#xff1a; <?xml ver…