2011-02-19 12 views
3

タスクバーのnotifyIconがクリックされ、ユーザは左クリックした。左クリック後にコンテキストメニューを表示する方法は?通知アイコンにコンテキストメニューの左クリックイベントを追加する

また、他の場所で別の左のリックでそれをなくすにはどうすればいいですか?

ありがとうございました...!

+2

が重複する可能性を探していたものです

Private Sub ContextMenuStrip1_MouseLeave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ContextMenuStrip1.MouseLeave ContextMenuStrip1.Close() End Sub 

ホープ[あなたはLT-クリックするか、通知アイコンをRT-クリックした場合にどのように異なるコンテキストメニューを得るのですか?]クローズ(http://stackoverflow.com/questions/3780607/how-do-you-get-a-different-context-menu-if-you-lt-click-or-rt-click-on-a-notify-i ) –

答えて

2

あなたは、Visual Studioを使用している場合、これは非常に簡単です、ただそれは(アイコンを持っている必要が通知アイコンを表示するにはコンテキストメニュー項目、

を追加するIDEのフォームに通知アイコンを追加します。 ico)、文脈のメンバにはmenue構造が必要です。

通知アイコンのプロパティでContectMenuStripプロパティをContextMenuue、つまりContextmenue1に設定します。デフォルトで ユーザーが右あなたがactualy左クリックで発生することが必要な場合、それは、あなたが

Private Sub NotifyIcon1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NotifyIcon1.Click 

    ContextMenuStrip1.Show(Control.MousePosition) 

End Sub 
ことをコーディングする必要がmenueが表示され、彼らは他の場所でクリックしたときにそれを隠すだろう、

アイコンをクリックした場合フォームはまだ、私はあなたがマウスの動きに結びつけることをお勧めしますない場合は、

Private Sub Form1_MouseClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseClick 
    If ContextMenuStrip1.Visible = True Then 
     ContextMenuStrip1.Visible = False 

    End If 
End Sub 

メインフォームでクリックイベントを使用することができます開いている場合は左クリックで閉じるようにそれをGeting

は、少し異なっているinstaedのクリック、すなわちマウスのleav ES menueは、これはあなたがの

関連する問題