.NET下支持多框架的托盘功能NotifyIconEx(WPF / WinForms / Avalonia / WinUI / MAUI / Wice)

支持 WPF / WinForms / Avalonia / WinUI / MAUI / Wice 应用。

先看效果:

using NotifyIconEx;

var notifyIcon = new NotifyIcon()
{
    Text = "NotifyIcon",
    Icon = Icon.ExtractAssociatedIcon(Process.GetCurrentProcess().MainModule?.FileName!)!
};
notifyIcon.AddMenu("MenuItem1", new Bitmap(ResourceHelper.GetStream("pack://application:,,,/Assets/Images/Lock.png")));
var toDisableItem = notifyIcon.AddMenu("MenuItem2", new Bitmap(ResourceHelper.GetStream("pack://application:,,,/Assets/Images/Lock.png")));
notifyIcon.AddMenu("-");
notifyIcon.AddMenu("MenuItem3");
notifyIcon.AddMenu("MenuItem4", true);
notifyIcon.AddMenu("MenuItem5", OnClick);
notifyIcon.AddMenu("-");
notifyIcon.AddMenu("SubMenu", null!,
[
    new ToolStripMenuItem("SubMenuItem1"),
    new ToolStripMenuItem("SubMenuItem2"),
    new ToolStripMenuItem("SubMenuItem3"),
    new ToolStripMenuItem("SubSubMenu", null!,
    [
        new ToolStripMenuItem("SubSubMenuItem1"),
        new ToolStripMenuItem("SubSubMenuItem2"),
        new ToolStripMenuItem("SubSubMenuItem3")
    ])
]);
notifyIcon.AddMenu("-");
notifyIcon.AddMenu("Exit", (_, _) => Current.Shutdown());
notifyIcon.BalloonTipShown += OnBalloonTipShown;

toDisableItem.Enabled = false;

void OnBalloonTipShown(object? sender, EventArgs e)
{
    Debug.WriteLine("OnBalloonTipShown");
}

void OnClick(object? sender, EventArgs e)
{
    notifyIcon.BalloonTipTitle = "Title";
    notifyIcon.BalloonTipText = "This Balloon Tips";
    notifyIcon.ShowBalloonTip(5);
}

可用于 .NET 5.0 以及 .NET Framework 4.6.2。

示例工程:

  1. NotifyIcon.Demo.Avalonia for Avalonia Application.

  2. NotifyIcon.Demo.Maui for MAUI Application.

  3. NotifyIcon.Demo.WPF for WPF Application.

  4. NotifyIcon.Demo.Wice for Wice Application.

  5. NotifyIcon.Demo.WinForm for WinForms Application.

  6. NotifyIcon.Demo.WinUI for WinUI Application.

开源链接:https://github.com/lemutec/NotifyIconEx 

Nuget包:NuGet Gallery | NotifyIconEx 1.0.9

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-23 06:00:03       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-23 06:00:03       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-23 06:00:03       45 阅读
  4. Python语言-面向对象

    2024-07-23 06:00:03       55 阅读

热门阅读

  1. unity和安卓的so文件联合使用

    2024-07-23 06:00:03       16 阅读
  2. 智能马桶的工作原理

    2024-07-23 06:00:03       15 阅读
  3. gitlab查询分支API显示不全,只有20个问题

    2024-07-23 06:00:03       14 阅读
  4. Linux Vim教程(四):文本编辑与修改技巧

    2024-07-23 06:00:03       15 阅读
  5. Esxi 上的 CentOS 7.6 系统中搭建本地 Yum 源

    2024-07-23 06:00:03       17 阅读
  6. Android 多用户问题

    2024-07-23 06:00:03       18 阅读
  7. QT 4.8版本的Ubuntu2004编译错误的解决方案

    2024-07-23 06:00:03       15 阅读
  8. 算法1--双指针

    2024-07-23 06:00:03       14 阅读
  9. C++实现排序算法

    2024-07-23 06:00:03       15 阅读
  10. 微信小程序面试题汇总

    2024-07-23 06:00:03       14 阅读
  11. Ubuntu22.04重置root密码

    2024-07-23 06:00:03       16 阅读