5

I've got a NotifyIcon that signals downloadable application updates. I want the download page to open on a Left Click on the NotifyIcon and on a Left Click on the NotifyIcon balloon (on screen for 10 seconds).

However, when I handle the BalloonTipClicked event I can't figure out if it was a Left or a Right click. Thus, while the balloon is still on screen and the user Right clicks on the icon, I get both the popup menu and the download page opening.

How do I detect the Right mouse button was used?

David Rutten
  • 4,716
  • 6
  • 43
  • 72
  • 1
    I don't think it's possible to distinguish left or right mouse button in this case. See a similar question here: http://social.msdn.microsoft.com/Forums/en-US/vcgeneral/thread/6af876d8-543e-409a-9d6e-c7dd8fb5efc7 – Mattias S Aug 19 '10 at 11:57
  • Well, thanks I suppose. Bit of a let-down though... – David Rutten Aug 19 '10 at 12:44

1 Answers1

7

You could try testing the mouse state with code like this:

    private void notifyIcon1_BalloonTipClicked(object sender, EventArgs e) {
        if ((Control.MouseButtons & MouseButtons.Right) == MouseButtons.Right)
            MessageBox.Show("Right button clicked");
    }

I cannot test it on my machine with Win7, right-clicking the balloon just dismisses it and displays the context menu of the taskbar. Which is your ultimate nemesis I'd say.

Hans Passant
  • 922,412
  • 146
  • 1,693
  • 2,536