C # Запустите приложение Windows Form, не начиная с формы - PullRequest
2 голосов
/ 15 августа 2011

Я хочу, чтобы моя программа запускалась со значком всплывающей подсказки, и когда щелкают по нему, чтобы появилось окно, но когда я пытаюсь запустить созданный мной класс, который показывает сообщение, я не могу запустить его, потому что это не форма.По сути, я мог получить всплывающее предупреждение, но после нажатия он не откроет форму, потому что кажется, что программа уже завершена (Main () в Program.cs уже завершен)

Я пробовал что-то вроде этого:

static void Main() {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);

        new TrayIcon();
    }

, но он просто показывает предупреждение и не работает.

Если я сделаю свой класс TrayIcon частичной формой и использовал Application.Run () Он работает, но пустой, уродливыйформа тоже всплывает.

Итак, как мне сначала сделать всплывающее окно без завершения программы?

1 Ответ

6 голосов
/ 15 августа 2011

Просто используйте перегрузку Application.Run, которая не принимает параметр Form:

static void Main() 
{
    Application.EnableVisualStyles();
    Application.SetCompatibleTextRenderingDefault(false);

    new TrayIcon();
    Application.Run();
}

Это запустит цикл сообщений Windows в текущем потоке, который будет обрабатывать сообщения пользовательского интерфейса, включая те, которые необходимы для того, чтобы ваше уведомление стало видимым и отзывчивым.

...