Я решил проблему следующим образом:
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Main main = new Main();
Application.Run();
//Application.Run(new Main());
}
Этот код находится в файле Program.cs, и вы можете увидеть исходный вызов метода Application.Run закомментированный. Я просто создаю объект класса Main (мой основной класс формы называется Main) и запускаю цикл сообщений приложения без каких-либо параметров. Это запускает приложение, инициализирует любые компоненты формы, но не показывает форму.
Примечание: у вас должен быть какой-то метод для отображения вашего окна (например, значок в системном трее, горячая клавиша или таймер или все, что вам может понравиться).