QA@IT

(C#)通知アイコンのバルーンチップで右クリックされたか判定する方法

3701 PV

タイトルのとおりなのですが、.NETアプリにおいて、通知アイコンのBalloonTipClickedイベントでマウスの左右どちらのボタンが押されたか判定する方法はありますでしょうか?

言語はC#
開発環境はVisualStudio2012 Desktopとなります。

どなたかご存知の方がいましたらご教授をお願い致します。

どうぞよろしくお願いします。

回答

Windows 8のWinFormsアプリケーションで試した限り、右クリックではBalloonTipClickedイベントが発生しませんでした(ノートPCだったんでマウスじゃなくてパッドですが)。
左ボタン、中ボタンはイベントおきるんですけど、Win8だからですかね?

イベントが発生しているのであればControl.MouseButtonsで判断できると思います。

private void notifyIcon1_BalloonTipClicked(object sender, EventArgs e)
{
    if ((Control.MouseButtons & System.Windows.Forms.MouseButtons.Middle) == System.Windows.Forms.MouseButtons.Middle)
    {
        this.Text = "middle";
    }
}
編集 履歴 (0)
  • flied_onion さんいつも回答ありがとうございます。
    私の環境は前回同様Win7ですが、右クリックでイベントが発生します。
    OSによってイベントが発生しない場合があるというのはすこし気にはなりますが、今回やりたかったことは、右クリックの場合はなにもしないという処理だったので、ご提示頂いた方法で問題ありません。
    ありがとうございます。
    -
ウォッチ

この質問への回答やコメントをメールでお知らせします。