Как свернуть приложение WinForms в области уведомлений? - PullRequest
26 голосов
/ 11 июня 2011

Я хочу свернуть приложение WinForms на C # в системный трей.Я пробовал это:

Имеет ли приложение свернуть в системный трей при нажатии кнопки? .В первый раз, когда я минимизирую его, его нигде нет на экране - панель задач / над панелью задач / трей.

Если я нажму Alt Tab, я смогу увидеть там свое приложение;если я добавлю вкладку в нее и снова сверну ее, она отобразится над панелью задач:

minimize

Что я делаю не так?

Ответы [ 4 ]

37 голосов
/ 11 июня 2011

А как насчет возможности скрыть форму, когда она свернута, а затем отображается, когда вы нажимаете на иконку в трее?

В событии изменения размера формы сделайте там проверку и скройте форму

   private void Form_Resize(object sender, EventArgs e)
    {
        if (WindowState == FormWindowState.Minimized)
        {
            this.Hide();
        }
    }

Затем при нажатии на значок на панели задач просто восстановите его.

    private void notifyIcon_Click(object sender, EventArgs e)
    {
        this.Show();
        this.WindowState = FormWindowState.Normal;
    }
10 голосов
/ 11 июня 2011

Вам необходимо добавить NotifyIcon к вашей форме.Затем вы можете использовать событие Click объекта NotifyIcon, чтобы установить для свойства Visible в вашем Form значение true снова.

3 голосов
/ 13 июня 2011

Вам нужно добавить значок в NotifyIcon, чтобы он был видимым.

0 голосов
/ 23 января 2017

Вы должны установить свойство ShowInTaskbar = true вашей формы.Он автоматически сворачивается в панель задач.

...