NotifyIconEx is an easy-to-use library for displaying NotifyIcon (notification icon) in WPF
/ WinForms
/ Avalonia
/ WinUI
/ MAUI
/ Wice
applications, offering non-intrusive system notifications and quick access functionality in the taskbar.
Support dark mode / show icon / checkable / submenus.
You should enable the HiDPI in your Application for better rendering.
NotifyIconEx is available as NuGet package.
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);
}
You can set the context menu theme like following:
// NotifyIcon default theme follows the system theme.
// Change it to Dark theme.
NotifyIcon.Theme = NotifyIconTheme.Dark;
-
NotifyIcon.Demo.Avalonia for Avalonia Application.
-
NotifyIcon.Demo.Maui for MAUI Application.
-
NotifyIcon.Demo.WPF for WPF Application.
-
NotifyIcon.Demo.Wice for Wice Application.
-
NotifyIcon.Demo.WinForm for WinForms Application.
-
NotifyIcon.Demo.WinUI for WinUI Application.
The source code for NotifyIcon is hosted on GitHub. You can find it at the following URL: https://github.com/lemutec/NotifyIconEx
NotifyIconEx is released under the MIT license. This means you are free to use and modify it, as long as you comply with the terms of the license.