Having the application minimize to the system tray when button is clicked?

女生的网名这么多〃 提交于 2019-11-28 03:38:11

问题


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?


回答1:


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.




回答2:


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




回答3:


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.



来源:https://stackoverflow.com/questions/1297028/having-the-application-minimize-to-the-system-tray-when-button-is-clicked

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!