512 lines
		
	
	
		
			23 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			512 lines
		
	
	
		
			23 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| using System;
 | |
| using System.Collections.Generic;
 | |
| using System.ComponentModel;
 | |
| using System.Drawing;
 | |
| using System.Text;
 | |
| using System.Windows.Forms;
 | |
| 
 | |
| namespace DevComponents.DotNetBar.Controls
 | |
| {
 | |
|     /// <summary>
 | |
|     /// Displays the desktop alerts with optional image or symbol. Text on alerts supports text-markup.
 | |
|     /// </summary>
 | |
|     public static class DesktopAlert
 | |
|     {
 | |
|         /// <summary>
 | |
|         /// Shows desktop alert. 
 | |
|         /// </summary>
 | |
|         /// <param name="text">Text to show on the alert. Text supports text-markup.</param>
 | |
|         public static void Show(string text)
 | |
|         {
 | |
|             Show(text, _AlertColor, _AlertPosition, null);
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Shows desktop alert. 
 | |
|         /// </summary>
 | |
|         /// <param name="text">Text to show on the alert. Text supports text-markup.</param>
 | |
|         /// <param name="referenceControl">Specifies reference control which is used to find target screen alert is displayed on.</param>
 | |
|         public static void Show(string text, Control referenceControl)
 | |
|         {
 | |
|             Show(text, _AlertColor, _AlertPosition, null, referenceControl);
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Shows desktop alert.
 | |
|         /// </summary>
 | |
|         /// <param name="text">Text to show on the alert. Text supports text-markup.</param>
 | |
|         /// <param name="markupLinkClickHandler">Text-markup link click event handler.</param>
 | |
|         public static void Show(string text, MarkupLinkClickEventHandler markupLinkClickHandler)
 | |
|         {
 | |
|             Show(text, _AlertColor, _AlertPosition, markupLinkClickHandler);
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Shows desktop alert.
 | |
|         /// </summary>
 | |
|         /// <param name="text">Text to show on the alert. Text supports text-markup.</param>
 | |
|         /// <param name="alertColor">Specifies alert color.</param>
 | |
|         public static void Show(string text, eDesktopAlertColor alertColor)
 | |
|         {
 | |
|             Show(text, alertColor, _AlertPosition, null);
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Shows desktop alert.
 | |
|         /// </summary>
 | |
|         /// <param name="text">Text to show on the alert. Text supports text-markup.</param>
 | |
|         /// <param name="alertColor">Specifies alert color.</param>
 | |
|         /// <param name="referenceControl">Specifies reference control which is used to find target screen alert is displayed on.</param>
 | |
|         public static void Show(string text, eDesktopAlertColor alertColor, Control referenceControl)
 | |
|         {
 | |
|             Show(text, alertColor, _AlertPosition, null, referenceControl);
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Shows desktop alert at specific screen position.
 | |
|         /// </summary>
 | |
|         /// <param name="text">Text to show on the alert. Text supports text-markup.</param>
 | |
|         /// <param name="position">Alert position on the screen.</param>
 | |
|         public static void Show(string text, eAlertPosition position)
 | |
|         {
 | |
|             Show(text, _AlertColor, position, null);
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Shows desktop alert at specific screen position.
 | |
|         /// </summary>
 | |
|         /// <param name="text">Text to show on the alert. Text supports text-markup.</param>
 | |
|         /// <param name="position">Alert position on the screen.</param>
 | |
|         /// <param name="referenceControl">Specifies reference control which is used to find target screen alert is displayed on.</param>
 | |
|         public static void Show(string text, eAlertPosition position, Control referenceControl)
 | |
|         {
 | |
|             Show(text, _AlertColor, position, null, referenceControl);
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Shows desktop alert at specific screen position.
 | |
|         /// </summary>
 | |
|         /// <param name="text">Text to show on the alert. Text supports text-markup.</param>
 | |
|         /// <param name="image">Image to display on alert.</param>
 | |
|         public static void Show(string text, Image image)
 | |
|         {
 | |
|             Show(text, image, _AlertColor, _AlertPosition, _AutoCloseTimeOut, 0, null);
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Shows desktop alert.
 | |
|         /// </summary>
 | |
|         /// <param name="text">Text to show on the alert. Text supports text-markup.</param>
 | |
|         /// <param name="alertColor">Alert color.</param>
 | |
|         /// <param name="position">Alert position on the screen.</param>
 | |
|         public static void Show(string text, eDesktopAlertColor alertColor, eAlertPosition position)
 | |
|         {
 | |
|             Show(text, alertColor, position, null);
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Shows desktop alert.
 | |
|         /// </summary>
 | |
|         /// <param name="text">Text to show on the alert. Text supports text-markup.</param>
 | |
|         /// <param name="alertColor">Alert color</param>
 | |
|         /// <param name="position">Alert position on the screen</param>
 | |
|         /// <param name="markupLinkClickHandler">Text-markup link click event handler.</param>
 | |
|         /// <param name="referenceControl">Specifies reference control which is used to find target screen alert is displayed on.</param>
 | |
|         public static void Show(string text, eDesktopAlertColor alertColor, eAlertPosition position, MarkupLinkClickEventHandler markupLinkClickHandler, Control referenceControl)
 | |
|         {
 | |
|             DesktopAlertWindow alert = new DesktopAlertWindow();
 | |
|             alert.Text = text;
 | |
|             alert.MaximumSize = Dpi.Size(_MaximumAlertSize);
 | |
|             alert.AlertPosition = position;
 | |
|             alert.AutoCloseTimeOut = _AutoCloseTimeOut;
 | |
|             alert.TextMarkupEnabled = _TextMarkupEnabled;
 | |
|             if (markupLinkClickHandler != null)
 | |
|                 alert.MarkupLinkClick += markupLinkClickHandler;
 | |
|             alert.AlertAnimationDuration = _AlertAnimationDuration;
 | |
|             alert.PlaySound = _PlaySound;
 | |
|             alert.ReferenceControl = referenceControl;
 | |
|             SetColors(alert, alertColor);
 | |
|             alert.Show();
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Shows desktop alert.
 | |
|         /// </summary>
 | |
|         /// <param name="text">Text to show on the alert. Text supports text-markup.</param>
 | |
|         /// <param name="alertColor">Alert color</param>
 | |
|         /// <param name="position">Alert position on the screen</param>
 | |
|         /// <param name="markupLinkClickHandler">Text-markup link click event handler.</param>
 | |
|         public static void Show(string text, eDesktopAlertColor alertColor, eAlertPosition position, MarkupLinkClickEventHandler markupLinkClickHandler)
 | |
|         {
 | |
|             Show(text, alertColor, position, markupLinkClickHandler, null);
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Shows desktop alert.
 | |
|         /// </summary>
 | |
|         /// <param name="text">Text to show on the alert. Text supports text-markup.</param>
 | |
|         /// <param name="alertId">Alert ID used to recognize alert if clicked and specified Action is called</param>
 | |
|         /// <param name="alertClickAction">Action method to call if alert is clicked.</param>
 | |
|         public static void Show(string text, long alertId, Action<long> alertClickAction)
 | |
|         {
 | |
|             Show(text, null, _AlertColor, _AlertPosition, _AutoCloseTimeOut, alertId, alertClickAction);
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Shows desktop alert.
 | |
|         /// </summary>
 | |
|         /// <param name="text">Text to show on the alert. Text supports text-markup.</param>
 | |
|         /// <param name="alertColor">Alert color</param>
 | |
|         /// <param name="alertId">Alert ID used to recognize alert if clicked and specified Action is called</param>
 | |
|         /// <param name="alertClickAction">Action method to call if alert is clicked.</param>
 | |
|         public static void Show(string text, eDesktopAlertColor alertColor, long alertId, Action<long> alertClickAction)
 | |
|         {
 | |
|             Show(text, null, alertColor, _AlertPosition, _AutoCloseTimeOut, alertId, alertClickAction);
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Shows desktop alert.
 | |
|         /// </summary>
 | |
|         /// <param name="text">Text to show on the alert. Text supports text-markup.</param>
 | |
|         /// <param name="symbol">Symbol to show on the alert, see http://www.devcomponents.com/kb2/?p=1347 </param>
 | |
|         /// <param name="symbolSet">Symbol set to use</param>
 | |
|         /// <param name="symbolColor">Symbol color or Color.Empty to use default text color</param>
 | |
|         /// <param name="alertColor">Alert color</param>
 | |
|         /// <param name="position">Alert position on the screen</param>
 | |
|         /// <param name="alertDurationSeconds">Duration of alert in the seconds.</param>
 | |
|         /// <param name="alertId">Alert ID used to recognize alert if clicked and specified Action is called</param>
 | |
|         /// <param name="alertClickAction">Action method to call if alert is clicked.</param>
 | |
|         public static void Show(string text, string symbol, eSymbolSet symbolSet, Color symbolColor, eDesktopAlertColor alertColor, eAlertPosition position,
 | |
|             int alertDurationSeconds, long alertId, Action<long> alertClickAction)
 | |
|         {
 | |
|             Show(text, symbol, symbolSet, symbolColor, alertColor,position, alertDurationSeconds, alertId, alertClickAction, null);
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Shows desktop alert.
 | |
|         /// </summary>
 | |
|         /// <param name="text">Text to show on the alert. Text supports text-markup.</param>
 | |
|         /// <param name="symbol">Symbol to show on the alert, see http://www.devcomponents.com/kb2/?p=1347 </param>
 | |
|         /// <param name="symbolSet">Symbol set to use</param>
 | |
|         /// <param name="symbolColor">Symbol color or Color.Empty to use default text color</param>
 | |
|         /// <param name="position">Alert position on the screen</param>
 | |
|         /// <param name="alertColor">Alert color</param>
 | |
|         /// <param name="alertDurationSeconds">Duration of alert in the seconds.</param>
 | |
|         /// <param name="alertId">Alert ID used to recognize alert if clicked and specified Action is called</param>
 | |
|         /// <param name="alertClickAction">Action method to call if alert is clicked.</param>
 | |
|         /// <param name="markupLinkClickHandler">Text-markup link click event handler.</param>
 | |
|         public static void Show(string text, string symbol, eSymbolSet symbolSet, Color symbolColor, eDesktopAlertColor alertColor, eAlertPosition position,
 | |
|             int alertDurationSeconds, long alertId, Action<long> alertClickAction, MarkupLinkClickEventHandler markupLinkClickHandler)
 | |
|         {
 | |
|             Show(text, symbol, symbolSet, symbolColor, alertColor, position, alertDurationSeconds, alertId, alertClickAction, markupLinkClickHandler, null);
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Shows desktop alert.
 | |
|         /// </summary>
 | |
|         /// <param name="text">Text to show on the alert. Text supports text-markup.</param>
 | |
|         /// <param name="symbol">Symbol to show on the alert, see http://www.devcomponents.com/kb2/?p=1347 </param>
 | |
|         /// <param name="symbolSet">Symbol set to use</param>
 | |
|         /// <param name="symbolColor">Symbol color or Color.Empty to use default text color</param>
 | |
|         /// <param name="position">Alert position on the screen</param>
 | |
|         /// <param name="alertColor">Alert color</param>
 | |
|         /// <param name="alertDurationSeconds">Duration of alert in the seconds.</param>
 | |
|         /// <param name="alertId">Alert ID used to recognize alert if clicked and specified Action is called</param>
 | |
|         /// <param name="alertClickAction">Action method to call if alert is clicked.</param>
 | |
|         /// <param name="markupLinkClickHandler">Text-markup link click event handler.</param>
 | |
|         /// <param name="referenceControl">Specifies reference control which is used to find target screen alert is displayed on.</param>
 | |
|         public static void Show(string text, string symbol, eSymbolSet symbolSet, Color symbolColor, eDesktopAlertColor alertColor, eAlertPosition position,
 | |
|             int alertDurationSeconds, long alertId, Action<long> alertClickAction, MarkupLinkClickEventHandler markupLinkClickHandler, Control referenceControl)
 | |
|         {
 | |
|             DesktopAlertWindow alert = new DesktopAlertWindow();
 | |
|             alert.Text = text;
 | |
|             alert.MaximumSize = Dpi.Size(_MaximumAlertSize);
 | |
|             alert.AlertPosition = position;
 | |
|             alert.Symbol = symbol;
 | |
|             alert.SymbolSet = symbolSet;
 | |
|             alert.SymbolColor = symbolColor;
 | |
|             alert.AlertId = alertId;
 | |
|             alert.ClickAction = alertClickAction;
 | |
|             alert.AutoCloseTimeOut = alertDurationSeconds;
 | |
|             alert.TextMarkupEnabled = _TextMarkupEnabled;
 | |
|             if (markupLinkClickHandler != null)
 | |
|                 alert.MarkupLinkClick += markupLinkClickHandler;
 | |
|             alert.AlertAnimationDuration = _AlertAnimationDuration;
 | |
|             alert.PlaySound = _PlaySound;
 | |
|             alert.ReferenceControl = referenceControl;
 | |
|             SetColors(alert, alertColor);
 | |
|             alert.Show();
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Shows desktop alert.
 | |
|         /// </summary>
 | |
|         /// <param name="text">Text to show on the alert. Text supports text-markup.</param>
 | |
|         /// <param name="image">Image to display on the alert</param>
 | |
|         /// <param name="position">Alert screen position</param>
 | |
|         /// <param name="alertColor">Alert color</param>
 | |
|         /// <param name="alertDurationSeconds">Duration of alert in seconds</param>
 | |
|         /// <param name="alertId">Alert ID used to recognize alert if clicked and specified Action is called</param>
 | |
|         /// <param name="alertClickAction">Action method to call if alert is clicked.</param>
 | |
|         public static void Show(string text, Image image, eDesktopAlertColor alertColor, eAlertPosition position,
 | |
|             int alertDurationSeconds, long alertId, Action<long> alertClickAction)
 | |
|         {
 | |
|             Show(text, image, alertColor, position, alertDurationSeconds, alertId, alertClickAction, null);
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Shows desktop alert.
 | |
|         /// </summary>
 | |
|         /// <param name="text">Text to show on the alert. Text supports text-markup.</param>
 | |
|         /// <param name="image">Image to display on the alert</param>
 | |
|         /// <param name="position">Alert screen position</param>
 | |
|         /// <param name="alertColor">Alert color</param>
 | |
|         /// <param name="alertDurationSeconds">Duration of alert in seconds</param>
 | |
|         /// <param name="alertId">Alert ID used to recognize alert if clicked and specified Action is called</param>
 | |
|         /// <param name="alertClickAction">Action method to call if alert is clicked.</param>
 | |
|         /// <param name="markupLinkClickHandler">Text-markup link click event handler.</param>
 | |
|         public static void Show(string text, Image image, eDesktopAlertColor alertColor, eAlertPosition position,
 | |
|             int alertDurationSeconds, long alertId, Action<long> alertClickAction, MarkupLinkClickEventHandler markupLinkClickHandler)
 | |
|         {
 | |
|             Show(text, image, alertColor, position, alertDurationSeconds, alertId, alertClickAction, markupLinkClickHandler, null);
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Shows desktop alert.
 | |
|         /// </summary>
 | |
|         /// <param name="text">Text to show on the alert. Text supports text-markup.</param>
 | |
|         /// <param name="image">Image to display on the alert</param>
 | |
|         /// <param name="position">Alert screen position</param>
 | |
|         /// <param name="alertColor">Alert color</param>
 | |
|         /// <param name="alertDurationSeconds">Duration of alert in seconds</param>
 | |
|         /// <param name="alertId">Alert ID used to recognize alert if clicked and specified Action is called</param>
 | |
|         /// <param name="alertClickAction">Action method to call if alert is clicked.</param>
 | |
|         /// <param name="markupLinkClickHandler">Text-markup link click event handler.</param>
 | |
|         /// <param name="referenceControl">Specifies reference control which is used to find target screen alert is displayed on.</param>
 | |
|         public static void Show(string text, Image image, eDesktopAlertColor alertColor, eAlertPosition position,
 | |
|             int alertDurationSeconds, long alertId, Action<long> alertClickAction, MarkupLinkClickEventHandler markupLinkClickHandler, Control referenceControl)
 | |
|         {
 | |
|             DesktopAlertWindow alert = new DesktopAlertWindow();
 | |
|             alert.Text = text;
 | |
|             alert.MaximumSize = Dpi.Size(_MaximumAlertSize);
 | |
|             alert.AlertPosition = position;
 | |
|             alert.Image = image;
 | |
|             alert.AlertId = alertId;
 | |
|             alert.ClickAction = alertClickAction;
 | |
|             alert.AutoCloseTimeOut = alertDurationSeconds;
 | |
|             alert.TextMarkupEnabled = _TextMarkupEnabled;
 | |
|             if (markupLinkClickHandler != null)
 | |
|                 alert.MarkupLinkClick += markupLinkClickHandler;
 | |
|             alert.AlertAnimationDuration = _AlertAnimationDuration;
 | |
|             alert.PlaySound = _PlaySound;
 | |
|             alert.ReferenceControl = referenceControl;
 | |
|             SetColors(alert, alertColor);
 | |
|             alert.Show();
 | |
|         }
 | |
| 
 | |
|         private static void SetColors(DesktopAlertWindow w, eDesktopAlertColor c)
 | |
|         {
 | |
|             if (c == eDesktopAlertColor.Default)
 | |
|             {
 | |
|                 w.BackColor = ColorScheme.GetColor(0x0078D7);
 | |
|                 w.ForeColor = Color.White;
 | |
|             }
 | |
|             else if (c == eDesktopAlertColor.Black)
 | |
|             {
 | |
|                 w.BackColor = Color.Black;
 | |
|                 w.ForeColor = Color.White;
 | |
|             }
 | |
|             else if (c == eDesktopAlertColor.Blue)
 | |
|             {
 | |
|                 w.BackColor = ColorScheme.GetColor(0x5B9BD5);
 | |
|                 w.ForeColor = Color.White;
 | |
|             }
 | |
|             else if (c == eDesktopAlertColor.BlueGray)
 | |
|             {
 | |
|                 w.BackColor = ColorScheme.GetColor(0x44546A);
 | |
|                 w.ForeColor = Color.White;
 | |
|             }
 | |
|             else if (c == eDesktopAlertColor.DarkBlue)
 | |
|             {
 | |
|                 w.BackColor = ColorScheme.GetColor(0x4472C4);
 | |
|                 w.ForeColor = Color.White;
 | |
|             }
 | |
|             else if (c == eDesktopAlertColor.DarkRed)
 | |
|             {
 | |
|                 w.BackColor = ColorScheme.GetColor(0xC00000);
 | |
|                 w.ForeColor = Color.White;
 | |
|             }
 | |
|             else if (c == eDesktopAlertColor.Gold)
 | |
|             {
 | |
|                 w.BackColor = ColorScheme.GetColor(0xFFC000);
 | |
|                 w.ForeColor = Color.Black;
 | |
|             }
 | |
|             else if (c == eDesktopAlertColor.Gray)
 | |
|             {
 | |
|                 w.BackColor = ColorScheme.GetColor(0xE7E6E6);
 | |
|                 w.ForeColor = Color.Black;
 | |
|             }
 | |
|             else if (c == eDesktopAlertColor.Green)
 | |
|             {
 | |
|                 w.BackColor = ColorScheme.GetColor(0x375623);
 | |
|                 w.ForeColor = Color.White;
 | |
|             }
 | |
|             else if (c == eDesktopAlertColor.Orange)
 | |
|             {
 | |
|                 w.BackColor = ColorScheme.GetColor(0xCA5010);
 | |
|                 w.ForeColor = Color.White;
 | |
|             }
 | |
|             else if (c == eDesktopAlertColor.Red)
 | |
|             {
 | |
|                 w.BackColor = ColorScheme.GetColor(0xE81123);
 | |
|                 w.ForeColor = Color.White;
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         private static Size _MaximumAlertSize = new Size(400, 128);
 | |
|         /// <summary>
 | |
|         /// Indicates maximum alert size.
 | |
|         /// </summary>
 | |
|         public static Size MaximumAlertSize
 | |
|         {
 | |
|             get { return _MaximumAlertSize; }
 | |
|             set { _MaximumAlertSize = value; }
 | |
|         }
 | |
| 
 | |
|         private static eAlertPosition _AlertPosition = eAlertPosition.BottomRight;
 | |
|         /// <summary>
 | |
|         /// Specifies default alert screen position.
 | |
|         /// </summary>
 | |
|         public static eAlertPosition AlertPosition
 | |
|         {
 | |
|             get { return _AlertPosition; }
 | |
|             set { _AlertPosition = value; }
 | |
|         }
 | |
| 
 | |
|         private static eDesktopAlertColor _AlertColor = eDesktopAlertColor.Default;
 | |
|         /// <summary>
 | |
|         /// Specifies default alert color.
 | |
|         /// </summary>
 | |
|         public static eDesktopAlertColor AlertColor
 | |
|         {
 | |
|             get { return _AlertColor; }
 | |
|             set { _AlertColor = value; }
 | |
|         }
 | |
| 
 | |
|         private static int _AlertAnimationDuration = 200;
 | |
|         /// <summary>
 | |
|         /// Gets or sets the total time in milliseconds alert animation takes.
 | |
|         /// Default value is 200.
 | |
|         /// </summary>
 | |
|         public static int AlertAnimationDuration
 | |
|         {
 | |
|             get { return _AlertAnimationDuration; }
 | |
|             set { _AlertAnimationDuration = value; }
 | |
|         }
 | |
| 
 | |
|         private static int _AutoCloseTimeOut = 6;
 | |
|         /// <summary>
 | |
|         /// Gets or sets time period in seconds after alert closes automatically.
 | |
|         /// </summary>
 | |
|         public static int AutoCloseTimeOut
 | |
|         {
 | |
|             get { return _AutoCloseTimeOut; }
 | |
|             set { _AutoCloseTimeOut = value; }
 | |
|         }
 | |
| 
 | |
|         private static bool _TextMarkupEnabled = true;
 | |
|         /// <summary>
 | |
|         /// Gets or sets whether text-markup can be used in alert text, default value is true.
 | |
|         /// </summary>
 | |
|         public static bool TextMarkupEnabled
 | |
|         {
 | |
|             get { return _TextMarkupEnabled; }
 | |
|             set { _TextMarkupEnabled = value; }
 | |
|         }
 | |
| 
 | |
|         private static bool _PlaySound = true;
 | |
|         /// <summary>
 | |
|         /// Indicates whether alert plays exclamation sound when shown.
 | |
|         /// </summary>
 | |
|         public static bool PlaySound
 | |
|         {
 | |
|             get { return _PlaySound; }
 | |
|             set { _PlaySound = value; }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Occurs before alert is displayed and allows access to the alert Window through sender.
 | |
|         /// </summary>
 | |
|         [Description("Occurs before alert is displayed and allows access to the alert Window through sender.")]
 | |
|         public static event EventHandler BeforeAlertDisplayed;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Raises BeforeAlertDisplayed event.
 | |
|         /// </summary>
 | |
|         /// <param name="e">Provides event arguments.</param>
 | |
|         internal static void OnBeforeAlertDisplayed(DesktopAlertWindow w, EventArgs e)
 | |
|         {
 | |
|             EventHandler h = BeforeAlertDisplayed;
 | |
|             if (h != null)
 | |
|                 h(w, e);
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Occurs after alert as been closed.
 | |
|         /// </summary>
 | |
|         [Description("Occurs after alert has been closed.")]
 | |
|         public static event AlertClosedEventHandler AlertClosed;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Raises RemovingToken event.
 | |
|         /// </summary>
 | |
|         /// <param name="e">Provides event arguments.</param>
 | |
|         internal static void OnAlertClosed(object sender, AlertClosedEventArgs e)
 | |
|         {
 | |
|             AlertClosedEventHandler handler = AlertClosed;
 | |
|             if (handler != null)
 | |
|                 handler(sender, e);
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     /// <summary>
 | |
|     /// Defines delegate for AlertClosed event.
 | |
|     /// </summary>
 | |
|     /// <param name="sender">Sender.</param>
 | |
|     /// <param name="args">Event arguments</param>
 | |
|     public delegate void AlertClosedEventHandler(object sender, AlertClosedEventArgs args);
 | |
|     /// <summary>
 | |
|     /// Defines event arguments for AlertClosed event.
 | |
|     /// </summary>
 | |
|     public class AlertClosedEventArgs : EventArgs
 | |
|     {
 | |
|         /// <summary>
 | |
|         /// Specifies alert closure source.
 | |
|         /// </summary>
 | |
|         public readonly eAlertClosureSource ClosureSource;
 | |
| 
 | |
|         public AlertClosedEventArgs(eAlertClosureSource source)
 | |
|         {
 | |
|             ClosureSource = source;
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     /// <summary>
 | |
|     /// Defines predefined desktop alert colors.
 | |
|     /// </summary>
 | |
|     public enum eDesktopAlertColor
 | |
|     {
 | |
|         Default,
 | |
|         DarkRed,
 | |
|         Black,
 | |
|         Gray,
 | |
|         BlueGray,
 | |
|         Blue,
 | |
|         Orange,
 | |
|         Gold,
 | |
|         DarkBlue,
 | |
|         Green,
 | |
|         Red
 | |
|     }
 | |
| }
 |