NotifyIcon クラス
通知領域にアイコンを作成するコンポーネントを指定します。このクラスは継承できません。
名前空間: System.Windows.Forms
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)
構文
'宣言
Public NotInheritable Class NotifyIcon
Inherits Component
'使用
Dim instance As NotifyIcon
public sealed class NotifyIcon : Component
public ref class NotifyIcon sealed : public Component
public final class NotifyIcon extends Component
public final class NotifyIcon extends Component
解説
通知領域に表示されるアイコンは、ウイルス検出プログラムやボリューム コントロールなど、コンピュータのバックグラウンドで実行されているプロセスへのショートカットです。これらのプロセスは、固有のユーザー インターフェイスを持ちません。NotifyIcon クラスを使用すると、このようなプログラムを作成できます。通知領域に表示するアイコンは、Icon プロパティで定義します。アイコンのポップアップ メニュ ーは、ContextMenu でアドレス指定されます。Text プロパティには、ツール ヒント テキストを設定します。アイコンを通知領域の中に表示するには、Visible プロパティを true に設定する必要があります。
使用例
NotifyIcon クラスを使用して、アプリケーションのアイコンを通知領域内に表示するコード例を次に示します。この例では、Icon、ContextMenu、Text、Visible の各プロパティを設定して、DoubleClick イベントを処理しています。[終了] 項目がある ContextMenu は、NotifyIcon.ContextMenu プロパティに割り当てられ、ユーザーがアプリケーションを終了できるようにします。DoubleClick イベントが発生すると、アプリケーションのフォームは Form.Activate メソッドを呼び出すことによってアクティブになります。
Imports System
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 'Main
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 'New
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
' Clean up any components being used.
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub 'Dispose
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 '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();
}
}
#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 );
}
import System.*;
import System.Drawing.*;
import System.Windows.Forms.*;
public class Form1 extends 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;
/** @attribute STAThread()
*/
public static void main(String[] args)
{
Application.Run(new Form1());
} //main
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.get_MenuItems().AddRange(
new System.Windows.Forms.MenuItem[] { this.menuItem1 });
// Initialize menuItem1
this.menuItem1.set_Index(0);
this.menuItem1.set_Text("E&xit");
this.menuItem1.add_Click(new System.EventHandler(this.menuItem1_Click));
// Set up how the form should be displayed.
this.set_ClientSize(new System.Drawing.Size(292, 266));
this.set_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.set_Icon(new Icon("appicon.ico"));
// The ContextMenu property sets the menu that will
// appear when the systray icon is right clicked.
notifyIcon1.set_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.set_Text("Form1 (NotifyIcon example)");
notifyIcon1.set_Visible(true);
// Handle the DoubleClick event to activate the form.
notifyIcon1.add_DoubleClick(
new System.EventHandler(this.notifyIcon1_DoubleClick));
} //Form1
protected void Dispose(boolean disposing)
{
// Clean up any components being used.
if (disposing) {
if (components != null) {
components.Dispose();
}
}
super.Dispose(disposing);
} //Dispose
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.get_WindowState().Equals(FormWindowState.Minimized)) {
this.set_WindowState(FormWindowState.Normal);
}
// Activate the form.
this.Activate();
} //notifyIcon1_DoubleClick
private void menuItem1_Click(Object Sender, EventArgs e)
{
// Close the form, which closes the application.
this.Close();
} //menuItem1_Click
} //Form1
.NET Framework のセキュリティ
- UIPermission (NotifyIcon コンポーネントを作成するために必要なアクセス許可)。UIPermissionWindow.AllWindows (関連する列挙体)
継承階層
System.Object
System.MarshalByRefObject
System.ComponentModel.Component
System.Windows.Forms.NotifyIcon
スレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォーム
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
バージョン情報
.NET Framework
サポート対象 : 2.0、1.1、1.0