diff --git a/src/Shared/HandyControl_Shared/Controls/Other/NotifyIcon.cs b/src/Shared/HandyControl_Shared/Controls/Other/NotifyIcon.cs
index f9b072f9..80da1670 100644
--- a/src/Shared/HandyControl_Shared/Controls/Other/NotifyIcon.cs
+++ b/src/Shared/HandyControl_Shared/Controls/Other/NotifyIcon.cs
@@ -165,7 +165,39 @@ namespace HandyControl.Controls
public static readonly DependencyProperty IsBlinkProperty = DependencyProperty.Register(
"IsBlink", typeof(bool), typeof(NotifyIcon), new PropertyMetadata(ValueBoxes.FalseBox, OnIsBlinkChanged));
- private static void OnIsBlinkChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
+ public void ShowBalloonTip(string tipTitle, string tipText, ToolTipIcon tipIcon)
+ {
+ if (DesignerHelper.IsInDesignMode) return;
+
+ var data = new NOTIFYICONDATA
+ {
+ hWnd = _messageWindowHandle,
+ uID = _id,
+ uFlags = NativeMethods.NIF_INFO,
+ dwInfoFlags = NativeMethods.NIF_TIP,
+ szInfoTitle = tipTitle ?? string.Empty,
+ szInfo = tipText ?? string.Empty,
+ };
+
+ switch (tipIcon)
+ {
+ case ToolTipIcon.Info:
+ data.dwInfoFlags = NativeMethods.NIIF_INFO;
+ break;
+ case ToolTipIcon.Warning:
+ data.dwInfoFlags = NativeMethods.NIIF_WARNING;
+ break;
+ case ToolTipIcon.Error:
+ data.dwInfoFlags = NativeMethods.NIIF_ERROR;
+ break;
+ case ToolTipIcon.None:
+ data.dwInfoFlags = NativeMethods.NIIF_NONE;
+ break;
+ }
+ UnsafeNativeMethods.Shell_NotifyIcon(NativeMethods.NIM_MODIFY, data);
+ }
+
+ private static void OnIsBlinkChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
var ctl = (NotifyIcon)d;
if (ctl.Visibility != Visibility.Visible) return;
diff --git a/src/Shared/HandyControl_Shared/Data/Enum/ToolTipIcon.cs b/src/Shared/HandyControl_Shared/Data/Enum/ToolTipIcon.cs
new file mode 100644
index 00000000..19acf612
--- /dev/null
+++ b/src/Shared/HandyControl_Shared/Data/Enum/ToolTipIcon.cs
@@ -0,0 +1,25 @@
+namespace HandyControl.Data
+{
+ public enum ToolTipIcon
+ {
+ ///
+ /// No Icon.
+ ///
+ None = 0,
+
+ ///
+ /// A Information Icon.
+ ///
+ Info = 1,
+
+ ///
+ /// A Warning Icon.
+ ///
+ Warning = 2,
+
+ ///
+ /// A Error Icon.
+ ///
+ Error = 3
+ }
+}