8

How can I have my application minimize itself to the system tray in WindowsXP/Vista?

I'm also looking for a way to have a message display itself when the mouse is hovered on the icon. Is it possible to have two lines in the pop up balloon?

MusiGenesis
  • 74,184
  • 40
  • 190
  • 334
Sergio Tapia
  • 40,006
  • 76
  • 183
  • 254

3 Answers3

10

I assume you mean minimize to the System tray because you have talked about icons and message ballons?

The following code will set up a tray icon:

private void SetUpTrayIcon()
{
    notifyIcon = new System.Windows.Forms.NotifyIcon();
    notifyIcon.BalloonTipText = "Ballon minimize text";
    notifyIcon.BalloonTipTitle = "Ballon minimize title";
    notifyIcon.Text = "Icon hover text";
    notifyIcon.Icon = new  System.Drawing.Icon(
               System.Reflection.Assembly.GetExecutingAssembly()
                   .GetManifestResourceStream("MyIcon.ico"));
    notifyIcon.Click += new EventHandler(HandlerToMaximiseOnClick);
}

To show the icon in the tray (you may want to do this on the window state change event for example, do something like the following:

if (notifyIcon != null)
{
    notifyIcon.Visible = true;
    notifyIcon.ShowBalloonTip(2000);
}

To display a ballon on mouse hover you want to use the same code as above possibly in the mousemove for the icon.

Note: ShowBalloonTip is overloaded if you want to change the message at different points. The message the balloon displays will respect newlines eg Environment.NewLine can be added to it.

Simon Fox
  • 10,409
  • 7
  • 60
  • 81
3

try

to minimize

this.WindowState = FormWindowState.Minimized;

to minimize to tray see this

What's the proper way to minimize to tray a C# WinForms app?

Bye

Community
  • 1
  • 1
RRUZ
  • 134,889
  • 20
  • 356
  • 483
0

The popup balloon will display whatever is shown in the form's title bar (which is the form's .Text property). I don't know of any way to make it multi-lined (if there is a way, it's sure to be complicated and probably not worth the trouble).

This earlier question gives some answers to the basic question. Your toolbox contains a control called NotifyIcon - use this to place an icon in the system tray.

Community
  • 1
  • 1
MusiGenesis
  • 74,184
  • 40
  • 190
  • 334