ヘッダー

VB.NET2002対応 VB.NET2003対応 VB2005対応

 

Visual Basic 中学校 > VB.NET サンプル >

タスクトレイの右クリックでメニューを表示する

以下の例では、タスクトレイにアイコンC:\Sample1.icoを表示し、アイコンが右クリックされた場合にメニューを表示する。メニューの「終了」をクリックするとフォームを閉じる。

この例を実行するにはContextMenuStrip1を事前に用意しておく必要がある。ContextMenuStrip1には項目として「終了」をあらわすmnuEndを作成しておく。

■画像1

VB2005対応

Dim TaskIcon As New NotifyIcon

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

   
'アイコンを表示する
   
TaskIcon.Icon = New Icon("C:\Sample1.ico")
    TaskIcon.ContextMenuStrip = ContextMenuStrip1
    TaskIcon.Visible =
True

End Sub
''' <summary>コンテキストメニューの[終了]</summary>
Private Sub mnuEnd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuEnd.Click

    TaskIcon.Visible =
False
   
Me.Close()

End
Sub

メモ:NotifyIconはデザイン時にフォームに貼り付けて使用することもできます。

 

以下の例も上記と同様だがContextMenuStripの代わりにContextMenuを使用している。そのためVB.NET2002, VB.NET2003でも実行できる。

VB.NET2002対応 VB.NET2003対応 VB2005対応

Dim TaskIcon As New NotifyIcon()

Private
Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    'アイコンを表示する
   
TaskIcon.Icon = New Icon("C:\Sample1.ico")
    TaskIcon.ContextMenu = ContextMenu1
    TaskIcon.Visible =
True

End Sub
'コンテキストメニューの[終了]
Private Sub mnuEnd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuEnd.Click

    TaskIcon.Visible =
False
   
Me.Close()

End
Sub

メモ:NotifyIconはデザイン時にフォームに貼り付けて使用することもできます。

メモ:VB2005では下の方の例はお薦めできません。特に理由がなければ上の方の例を参考にしてください。