Я успешно создал приложение, которое сворачивает в трей с помощью NotifyIcon. Когда форма закрыта вручную, она успешно скрыта с рабочего стола, панели задач и alt-tab. Проблема возникает при попытке запуска с свернутым приложением. Сначала проблема заключалась в том, что приложение будет свернуто, но все равно будет отображаться в диалоге alt-tab. Изменение FormBorderStyle на один из параметров ToolWindow (из параметра «Нет») исправило это, но создало другую проблему. Когда приложение запускается впервые, заголовок свернутого окна виден прямо над меню «Пуск»:

Открытие формы и ее закрытие приводит к ее правильному скрытию. Я перепробовал множество вариантов, но вот как это работает сейчас ...
WindowState имеет значение Minimized в Designer. После некоторой инициализации в конструкторе у меня появляются следующие строки:
this.Visible = false;
this.ShowInTaskbar = false;
При двойном щелчке по NotifyIcon у меня появляется следующее:
this.WindowState = FormWindowState.Normal;
this.Visible = true;
this.ShowInTaskbar = true;
Как я уже сказал, я пробовал множество мелких вариаций (this.Hide () и т. Д.). Есть ли способ сделать NotifyIcon основным компонентом, чтобы я мог полностью запускать и утилизировать форму, оставляя NotifyIcon работающим? Должен быть способ запустить приложение с свернутой формой без каких-либо странностей. Пожалуйста, помогите мне найти его!