NotifyIcon 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
指定可在通知区域创建图标的组件。 此类不能被继承。
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 类在通知区域中显示应用程序的图标。 该示例演示如何设置 Icon、 ContextMenu、 Text和 Visible 属性以及处理 DoubleClick 事件。 上 ContextMenu 带有 Exit 项的 将 NotifyIcon.ContextMenu 分配给 属性,该属性允许用户关闭应用程序。 DoubleClick事件发生时,通过调用 Form.Activate 方法激活应用程序窗体。
#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
注解
通知区域中的图标是计算机后台运行的进程(如病毒防护程序或卷控件)的快捷方式。 这些进程不附带其自己的用户界面。 类 NotifyIcon 提供了一种在此功能中编程的方法。 属性 Icon 定义显示在通知区域中的图标。 图标的弹出菜单使用 ContextMenu 属性进行寻址。 属性 Text 分配工具提示文本。 为了使图标显示在通知区域中, Visible 必须将 属性设置为 true
。
构造函数
NotifyIcon() |
初始化 NotifyIcon 类的新实例。 |
NotifyIcon(IContainer) |
使用指定的容器初始化 NotifyIcon 类的新实例。 |
属性
BalloonTipIcon |
获取或设置要在与 NotifyIcon 相关联的气球状提示上显示的图标。 |
BalloonTipText |
获取或设置要在与 NotifyIcon 相关联的气球状提示上显示的文本。 |
BalloonTipTitle |
获取或设置在 NotifyIcon 上显示的气球状提示的标题。 |
CanRaiseEvents |
获取一个指示组件是否可以引发事件的值。 (继承自 Component) |
Container |
获取包含 IContainer 的 Component。 (继承自 Component) |
ContextMenu |
获取或设置图标的快捷菜单。 |
ContextMenuStrip |
获取或设置与 NotifyIcon 关联的快捷菜单。 |
DesignMode |
获取一个值,用以指示 Component 当前是否处于设计模式。 (继承自 Component) |
Events |
获取附加到此 Component 的事件处理程序的列表。 (继承自 Component) |
Icon |
获取或设置当前图标。 |
Site | (继承自 Component) |
Tag |
获取或设置包含有关 NotifyIcon 的数据的对象。 |
Text |
获取或设置当鼠标指针停留在通知区域图标上时显示的工具提示文本。 |
Visible |
获取或设置一个值,该值指示任务栏的通知区域是否会显示图标。 |
方法
CreateObjRef(Type) |
创建一个对象,该对象包含生成用于与远程对象进行通信的代理所需的全部相关信息。 (继承自 MarshalByRefObject) |
Dispose() |
释放由 Component 使用的所有资源。 (继承自 Component) |
Dispose(Boolean) |
释放由 Component 占用的非托管资源,还可以另外再释放托管资源。 (继承自 Component) |
Equals(Object) |
确定指定对象是否等于当前对象。 (继承自 Object) |
GetHashCode() |
作为默认哈希函数。 (继承自 Object) |
GetLifetimeService() |
已过时.
检索控制此实例的生存期策略的当前生存期服务对象。 (继承自 MarshalByRefObject) |
GetService(Type) |
返回一个对象,该对象表示由 Component 或它的 Container 提供的服务。 (继承自 Component) |
GetType() |
获取当前实例的 Type。 (继承自 Object) |
InitializeLifetimeService() |
已过时.
获取生存期服务对象来控制此实例的生存期策略。 (继承自 MarshalByRefObject) |
MemberwiseClone() |
创建当前 Object 的浅表副本。 (继承自 Object) |
MemberwiseClone(Boolean) |
创建当前 MarshalByRefObject 对象的浅表副本。 (继承自 MarshalByRefObject) |
ShowBalloonTip(Int32) |
指定时间段内在任务栏中显示气球状提示。 |
ShowBalloonTip(Int32, String, String, ToolTipIcon) |
在指定时间段内,在任务栏中显示具有指定标题、文本和图标的气球状提示。 |
ToString() |
返回包含 Component 的名称的 String(如果有)。 不应重写此方法。 (继承自 Component) |
事件
BalloonTipClicked |
单击气球提示时发生。 |
BalloonTipClosed |
当用户关闭气球状提示时发生。 |
BalloonTipShown |
当屏幕上显示气球状提示时发生。 |
Click |
当用户单击通知区域中的图标时发生。 |
Disposed |
在通过调用 Dispose() 方法释放组件时发生。 (继承自 Component) |
DoubleClick |
当用户双击任务栏的通知区域中的图标时发生。 |
MouseClick |
当用户使用鼠标单击 NotifyIcon 时发生。 |
MouseDoubleClick |
当用户使用鼠标双击 NotifyIcon 时发生。 |
MouseDown |
当用户按下鼠标按钮而指针悬停在任务栏通知区域的图标上时发生。 |
MouseMove |
当用户移动鼠标而指针悬停在任务栏通知区域的图标上时发生。 |
MouseUp |
当用户松开鼠标按钮而指针悬停在任务栏通知区域的图标上时发生。 |