NotifyIcon Класс

Определение

Указывает компонент, который создает значок в области уведомлений.Specifies a component that creates an icon in the notification area. Этот класс не наследуется.This class cannot be inherited.

public ref class NotifyIcon sealed : System::ComponentModel::Component
public sealed class NotifyIcon : System.ComponentModel.Component
type NotifyIcon = class
    inherit Component
Public NotInheritable Class NotifyIcon
Inherits Component
Наследование

Примеры

В следующем примере кода показано использование класса NotifyIcon для вывода значка для приложения в области уведомлений.The following code example demonstrates using the NotifyIcon class to display an icon for an application in the notification area. В примере демонстрируется настройка свойств Icon, ContextMenu, Textи Visible и обработка события DoubleClick.The example demonstrates setting the Icon, ContextMenu, Text, and Visible properties and handling the DoubleClick event. ContextMenu с элементом Exit в нем присваивается свойство NotifyIcon.ContextMenu, которое позволяет пользователю закрыть приложение.A ContextMenu with an Exit item on it is assigned to the NotifyIcon.ContextMenu property, which allows the user to close the application. При возникновении события DoubleClick форма приложения активируется путем вызова метода Form.Activate.When the DoubleClick event occurs, the application form is activated by calling the Form.Activate method.

#using <System.dll>
#using <System.Windows.Forms.dll>
#using <System.Drawing.dll>

using namespace System;
using namespace System::Drawing;
using namespace System::Windows::Forms;
public ref class Form1: public System::Windows::Forms::Form
{
private:
   System::Windows::Forms::NotifyIcon^ notifyIcon1;
   System::Windows::Forms::ContextMenu^ contextMenu1;
   System::Windows::Forms::MenuItem^ menuItem1;
   System::ComponentModel::IContainer^ components;

public:
   Form1()
   {
      this->components = gcnew System::ComponentModel::Container;
      this->contextMenu1 = gcnew System::Windows::Forms::ContextMenu;
      this->menuItem1 = gcnew System::Windows::Forms::MenuItem;
      
      // Initialize contextMenu1
      array<System::Windows::Forms::MenuItem^>^temp0 = {this->menuItem1};
      this->contextMenu1->MenuItems->AddRange( temp0 );
      
      // Initialize menuItem1
      this->menuItem1->Index = 0;
      this->menuItem1->Text = "E&xit";
      this->menuItem1->Click += gcnew System::EventHandler( this, &Form1::menuItem1_Click );
      
      // Set up how the form should be displayed.
      this->ClientSize = System::Drawing::Size( 292, 266 );
      this->Text = "Notify Icon Example";
      
      // Create the NotifyIcon.
      this->notifyIcon1 = gcnew System::Windows::Forms::NotifyIcon( this->components );
      
      // The Icon property sets the icon that will appear
      // in the systray for this application.
      notifyIcon1->Icon = gcnew System::Drawing::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 += gcnew System::EventHandler( this, &Form1::notifyIcon1_DoubleClick );
   }

protected:
   ~Form1()
   {
      if ( components != nullptr )
      {
         delete components;
      }
   }

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();
   }

   void menuItem1_Click( Object^ /*Sender*/, EventArgs^ /*e*/ )
   {
      
      // Close the form, which closes the application.
      this->Close();
   }

};

[STAThread]
int main()
{
   Application::Run( gcnew Form1 );
}
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();
    }
}
Imports System.Drawing
Imports System.Windows.Forms

Public NotInheritable Class Form1
    Inherits System.Windows.Forms.Form

    Private contextMenu1 As System.Windows.Forms.ContextMenu
    Friend WithEvents menuItem1 As System.Windows.Forms.MenuItem
    Friend WithEvents notifyIcon1 As System.Windows.Forms.NotifyIcon
    Private components As System.ComponentModel.IContainer

    <System.STAThread()> _
    Public Shared Sub Main()
        System.Windows.Forms.Application.Run(New Form1)
    End Sub

    Public Sub New()

        Me.components = New System.ComponentModel.Container
        Me.contextMenu1 = New System.Windows.Forms.ContextMenu
        Me.menuItem1 = New System.Windows.Forms.MenuItem

        ' Initialize contextMenu1
        Me.contextMenu1.MenuItems.AddRange(New System.Windows.Forms.MenuItem() _
                            {Me.menuItem1})

        ' Initialize menuItem1
        Me.menuItem1.Index = 0
        Me.menuItem1.Text = "E&xit"

        ' Set up how the form should be displayed.
        Me.ClientSize = New System.Drawing.Size(292, 266)
        Me.Text = "Notify Icon Example"

        ' Create the NotifyIcon.
        Me.notifyIcon1 = New System.Windows.Forms.NotifyIcon(Me.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 = Me.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
    End Sub
    
    Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
        ' Clean up any components being used.
        If disposing Then
            If (components IsNot Nothing) Then
                components.Dispose()
            End If
        End If
        MyBase.Dispose(disposing)
    End Sub

    Private Sub notifyIcon1_DoubleClick(Sender as object, e as EventArgs) handles notifyIcon1.DoubleClick
        ' Show the form when the user double clicks on the notify icon.

        ' Set the WindowState to normal if the form is minimized.
        if (me.WindowState = FormWindowState.Minimized) then _
            me.WindowState = FormWindowState.Normal

        ' Activate the form.
        me.Activate()
    end sub

    Private Sub menuItem1_Click(Sender as object, e as EventArgs) handles menuItem1.Click
        ' Close the form, which closes the application.
        me.Close()
    end sub

End Class

Комментарии

Значки в области уведомлений — это ярлыки процессов, выполняемых в фоновом режиме компьютера, например программы защиты от вирусов или регулятора громкости.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. Класс NotifyIcon предоставляет способ программирования этой функции.The NotifyIcon class provides a way to program in this functionality. Свойство Icon определяет значок, который отображается в области уведомлений.The Icon property defines the icon that appears in the notification area. Всплывающие меню для значка связаны со свойством ContextMenu.Pop-up menus for an icon are addressed with the ContextMenu property. Свойство Text присваивает текст подсказки.The Text property assigns ToolTip text. Чтобы значок отображался в области уведомлений, свойство Visible должно иметь значение true.In order for the icon to show up in the notification area, the Visible property must be set to true.

Конструкторы

NotifyIcon()

Инициализация нового экземпляра класса NotifyIcon.Initializes a new instance of the NotifyIcon class.

NotifyIcon(IContainer)

Инициализирует новый экземпляр класса NotifyIcon с указанным контейнером.Initializes a new instance of the NotifyIcon class with the specified container.

Свойства

BalloonTipIcon

Возвращает или задает текст, отображаемый во всплывающей подсказке, связанной с NotifyIcon.Gets or sets the icon to display on the balloon tip associated with the NotifyIcon.

BalloonTipText

Возвращает или задает текст, отображаемый во всплывающей подсказке, связанной с NotifyIcon.Gets or sets the text to display on the balloon tip associated with the NotifyIcon.

BalloonTipTitle

Возвращает или задает заголовок всплывающей подсказки, отображаемой в NotifyIcon.Gets or sets the title of the balloon tip displayed on the NotifyIcon.

CanRaiseEvents

Возвращает значение, показывающее, может ли компонент вызывать событие.Gets a value indicating whether the component can raise an event.

(Унаследовано от Component)
Container

Возвращает контейнер IContainer, содержащий компонент Component.Gets the IContainer that contains the Component.

(Унаследовано от Component)
ContextMenu

Возвращает или задает контекстное меню для значка.Gets or sets the shortcut menu for the icon.

ContextMenuStrip

Получает или задает контекстное меню, связанное с NotifyIcon.Gets or sets the shortcut menu associated with the NotifyIcon.

DesignMode

Возвращает значение, указывающее, находится ли данный компонент Component в режиме конструктора в настоящее время.Gets a value that indicates whether the Component is currently in design mode.

(Унаследовано от Component)
Events

Возвращает список обработчиков событий, которые прикреплены к этому объекту Component.Gets the list of event handlers that are attached to this Component.

(Унаследовано от Component)
Icon

Возвращает или задает текущий значок.Gets or sets the current icon.

Site

Возвращает или задает ISite объекта Component.Gets or sets the ISite of the Component.

(Унаследовано от Component)
Tag

Возвращает или задает объект, содержащий данные об объекте NotifyIcon.Gets or sets an object that contains data about the NotifyIcon.

Text

Возвращает или задает текст подсказки, отображаемый при наведении указателя мыши на значок в области уведомлений.Gets or sets the ToolTip text displayed when the mouse pointer rests on a notification area icon.

Visible

Возвращает или задает значение, определяющее видимость значка в области уведомлений на панели задач.Gets or sets a value indicating whether the icon is visible in the notification area of the taskbar.

Методы

CreateObjRef(Type)

Создает объект, который содержит всю необходимую информацию для создания прокси-сервера, используемого для взаимодействия с удаленным объектом.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Унаследовано от MarshalByRefObject)
Dispose()

Освобождает все ресурсы, занятые модулем Component.Releases all resources used by the Component.

(Унаследовано от Component)
Dispose(Boolean)

Освобождает неуправляемые ресурсы, используемые объектом Component, а при необходимости освобождает также управляемые ресурсы.Releases the unmanaged resources used by the Component and optionally releases the managed resources.

(Унаследовано от Component)
Equals(Object)

Определяет, равен ли указанный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Унаследовано от Object)
GetHashCode()

Служит в качестве хэш-функции по умолчанию.Serves as the default hash function.

(Унаследовано от Object)
GetLifetimeService()

Извлекает объект обслуживания во время существования, который управляет политикой времени существования данного экземпляра.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Унаследовано от MarshalByRefObject)
GetService(Type)

Возвращает объект, представляющий службу, предоставляемую классом Component или классом Container.Returns an object that represents a service provided by the Component or by its Container.

(Унаследовано от Component)
GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Унаследовано от Object)
InitializeLifetimeService()

Получает объект службы времени существования для управления политикой времени существования для этого экземпляра.Obtains a lifetime service object to control the lifetime policy for this instance.

(Унаследовано от MarshalByRefObject)
MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Унаследовано от Object)
MemberwiseClone(Boolean)

Создает неполную копию текущего объекта MarshalByRefObject.Creates a shallow copy of the current MarshalByRefObject object.

(Унаследовано от MarshalByRefObject)
ShowBalloonTip(Int32)

Отображает всплывающую подсказку на панели задач в течение указанного периода времени.Displays a balloon tip in the taskbar for the specified time period.

ShowBalloonTip(Int32, String, String, ToolTipIcon)

Отображает всплывающую подсказку с указанным заголовком, текстом и значком в панели задач в течение указанного времени.Displays a balloon tip with the specified title, text, and icon in the taskbar for the specified time period.

ToString()

Возвращает объект String, содержащий имя Component, если оно есть.Returns a String containing the name of the Component, if any. Этот метод не следует переопределять.This method should not be overridden.

(Унаследовано от Component)

События

BalloonTipClicked

Происходит при щелчке на всплывающую подсказку.Occurs when the balloon tip is clicked.

BalloonTipClosed

Происходит, когда пользователь закрывает всплывающую подсказку.Occurs when the balloon tip is closed by the user.

BalloonTipShown

Происходит, когда на экране отображается всплывающая подсказка.Occurs when the balloon tip is displayed on the screen.

Click

Возникает, когда пользователь щелкает значок в области уведомлений.Occurs when the user clicks the icon in the notification area.

Disposed

Происходит при удалении компонента вызовом метода Dispose().Occurs when the component is disposed by a call to the Dispose() method.

(Унаследовано от Component)
DoubleClick

Возникает, когда пользователь дважды щелкает значок в области уведомлений на панели задач.Occurs when the user double-clicks the icon in the notification area of the taskbar.

MouseClick

Происходит, когда пользователь щелкает NotifyIcon кнопкой мыши.Occurs when the user clicks a NotifyIcon with the mouse.

MouseDoubleClick

Происходит, когда пользователь дважды щелкает NotifyIcon кнопкой мыши.Occurs when the user double-clicks the NotifyIcon with the mouse.

MouseDown

Происходит, когда пользователь нажимает кнопку мыши, а указатель мыши находится на значке в области уведомлений панели задач.Occurs when the user presses the mouse button while the pointer is over the icon in the notification area of the taskbar.

MouseMove

Происходит, когда пользователь перемещает мышь в то время, когда указатель мыши находится на значке в области уведомлений панели задач.Occurs when the user moves the mouse while the pointer is over the icon in the notification area of the taskbar.

MouseUp

Происходит, когда пользователь отпускает кнопку мыши, а указатель мыши находится на значке в области уведомлений панели задач.Occurs when the user releases the mouse button while the pointer is over the icon in the notification area of the taskbar.

Применяется к