Export (0) Print
Expand All

NotifyIcon Class

Specifies a component that creates an icon in the notification area. This class cannot be inherited.

Namespace:  System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

public sealed class NotifyIcon : Component

The NotifyIcon type exposes the following members.

  NameDescription
Public methodNotifyIcon()Initializes a new instance of the NotifyIcon class.
Public methodNotifyIcon(IContainer)Initializes a new instance of the NotifyIcon class with the specified container.
Top

  NameDescription
Public propertyBalloonTipIconGets or sets the icon to display on the balloon tip associated with the NotifyIcon.
Public propertyBalloonTipTextGets or sets the text to display on the balloon tip associated with the NotifyIcon.
Public propertyBalloonTipTitleGets or sets the title of the balloon tip displayed on the NotifyIcon.
Public propertyContainerGets the IContainer that contains the Component. (Inherited from Component.)
Public propertyContextMenuGets or sets the shortcut menu for the icon.
Public propertyContextMenuStripGets or sets the shortcut menu associated with the NotifyIcon.
Public propertyIconGets or sets the current icon.
Public propertySiteGets or sets the ISite of the Component. (Inherited from Component.)
Public propertyTagGets or sets an object that contains data about the NotifyIcon.
Public propertyTextGets or sets the ToolTip text displayed when the mouse pointer rests on a notification area icon.
Public propertyVisibleGets or sets a value indicating whether the icon is visible in the notification area of the taskbar.
Top

  NameDescription
Public methodCreateObjRefCreates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object. (Inherited from MarshalByRefObject.)
Public methodDispose()Releases all resources used by the Component. (Inherited from Component.)
Public methodEquals(Object)Determines whether the specified object is equal to the current object. (Inherited from Object.)
Public methodGetHashCodeServes as the default hash function. (Inherited from Object.)
Public methodGetLifetimeServiceRetrieves the current lifetime service object that controls the lifetime policy for this instance. (Inherited from MarshalByRefObject.)
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Public methodInitializeLifetimeServiceObtains a lifetime service object to control the lifetime policy for this instance. (Inherited from MarshalByRefObject.)
Public methodShowBalloonTip(Int32)Displays a balloon tip in the taskbar for the specified time period.
Public methodShowBalloonTip(Int32, String, String, ToolTipIcon)Displays a balloon tip with the specified title, text, and icon in the taskbar for the specified time period.
Public methodToStringReturns a String containing the name of the Component, if any. This method should not be overridden. (Inherited from Component.)
Top

  NameDescription
Public eventBalloonTipClickedOccurs when the balloon tip is clicked.
Public eventBalloonTipClosedOccurs when the balloon tip is closed by the user.
Public eventBalloonTipShownOccurs when the balloon tip is displayed on the screen.
Public eventClickOccurs when the user clicks the icon in the notification area.
Public eventDisposedOccurs when the component is disposed by a call to the Dispose method. (Inherited from Component.)
Public eventDoubleClickOccurs when the user double-clicks the icon in the notification area of the taskbar.
Public eventMouseClickOccurs when the user clicks a NotifyIcon with the mouse.
Public eventMouseDoubleClickOccurs when the user double-clicks the NotifyIcon with the mouse.
Public eventMouseDownOccurs when the user presses the mouse button while the pointer is over the icon in the notification area of the taskbar.
Public eventMouseMoveOccurs when the user moves the mouse while the pointer is over the icon in the notification area of the taskbar.
Public eventMouseUpOccurs when the user releases the mouse button while the pointer is over the icon in the notification area of the taskbar.
Top

Icons in the notification area are shortcuts to processes that are running in the background of a computer, such as a virus protection program or a volume control. These processes do not come with their own user interfaces. The NotifyIcon class provides a way to program in this functionality. The Icon property defines the icon that appears in the notification area. Pop-up menus for an icon are addressed with the ContextMenu property. The Text property assigns ToolTip text. In order for the icon to show up in the notification area, the Visible property must be set to true.

The following code example demonstrates using the NotifyIcon class to display an icon for an application in the notification area. The example demonstrates setting the Icon, ContextMenu, Text, and Visible properties and handling the DoubleClick event. A ContextMenu with an Exit item on it is assigned to the NotifyIcon.ContextMenu property, which allows the user to close the application. When the DoubleClick event occurs, the application form is activated by calling the Form.Activate method.

using System;
using System.Drawing;
using System.Windows.Forms;

public class Form1 : System.Windows.Forms.Form
{
    private System.Windows.Forms.NotifyIcon notifyIcon1;
    private System.Windows.Forms.ContextMenu contextMenu1;
    private System.Windows.Forms.MenuItem menuItem1;
    private System.ComponentModel.IContainer components;

    [STAThread]
    static void Main() 
    {
        Application.Run(new Form1());
    }

    public Form1()
    {
        this.components = new System.ComponentModel.Container();
        this.contextMenu1 = new System.Windows.Forms.ContextMenu();
        this.menuItem1 = new System.Windows.Forms.MenuItem();

        // Initialize contextMenu1 
        this.contextMenu1.MenuItems.AddRange(
                    new System.Windows.Forms.MenuItem[] {this.menuItem1});

        // Initialize menuItem1 
        this.menuItem1.Index = 0;
        this.menuItem1.Text = "E&xit";
        this.menuItem1.Click += new System.EventHandler(this.menuItem1_Click);

        // Set up how the form should be displayed. 
        this.ClientSize = new System.Drawing.Size(292, 266);
        this.Text = "Notify Icon Example";

        // Create the NotifyIcon. 
        this.notifyIcon1 = new System.Windows.Forms.NotifyIcon(this.components);

        // The Icon property sets the icon that will appear 
        // in the systray for this application.
        notifyIcon1.Icon = new Icon("appicon.ico");

        // The ContextMenu property sets the menu that will 
        // appear when the systray icon is right clicked.
        notifyIcon1.ContextMenu = this.contextMenu1;

        // The Text property sets the text that will be displayed, 
        // in a tooltip, when the mouse hovers over the systray icon.
        notifyIcon1.Text = "Form1 (NotifyIcon example)";
        notifyIcon1.Visible = true;

        // Handle the DoubleClick event to activate the form.
        notifyIcon1.DoubleClick += new System.EventHandler(this.notifyIcon1_DoubleClick);

    }

    protected override void Dispose( bool disposing )
    {
        // Clean up any components being used. 
        if( disposing )
            if (components != null)
                components.Dispose();            

        base.Dispose( disposing );
    }

    private void notifyIcon1_DoubleClick(object Sender, EventArgs e) 
    {
        // Show the form when the user double clicks on the notify icon. 

        // Set the WindowState to normal if the form is minimized. 
        if (this.WindowState == FormWindowState.Minimized)
            this.WindowState = FormWindowState.Normal;

        // Activate the form. 
        this.Activate();
    }

    private void menuItem1_Click(object Sender, EventArgs e) {
        // Close the form, which closes the application. 
        this.Close();
    }
}

.NET Framework

Supported in: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft