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