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. 该示例演示如何设置 IconContextMenuTextVisible 属性以及如何处理 DoubleClick 事件。The example demonstrates setting the Icon, ContextMenu, Text, and Visible properties and handling the DoubleClick event. 对其使用Exit项的 ContextMenu 分配给 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 属性必须设置为 trueIn 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,它包含 ComponentGets 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

获取或设置 ISiteComponentGets 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()

获取当前实例的 TypeGets 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.

适用于