Search code examples
c#.netwinformsnotifyicon

Minimize to tray make form unvisible


I am using NotifyIcon to make my form minimize to tray to work at background.

However below code doesn't show app icon at all. Form goes totally invisible. I have to kill that from task manager.

private void Button1_Click(object sender, EventArgs e)
{
    this.WindowState = FormWindowState.Minimized;
    if (FormWindowState.Minimized == this.WindowState)
    {   
        Hide();
        this.ShowInTaskbar = false;
        notifyIcon1.Visible = true; 
    }
}

What could be the reason? I want to see my app-icon to re-open the form.


Solution

  • You need to assign an Icon to NotifyIcon to show it in system tray. Also you need to set Visible to true.

    You can set properties using property grid at design time or you can set them by code. For example, you can use such code:

    this.notifyIcon1.Icon = this.Icon;
    this.notifyIcon1.Visible = true;
    

    If you don't set the Icon or if the visible is not true, it will not show the icon.