Удалить запись приложения из меню переключения приложений - PullRequest
0 голосов
/ 30 апреля 2010

Чего я пытаюсь достичь? Я пишу приложение на основе Windows-формы в C # .NET 2.0. Приложение должно вести себя так: форма не должна быть видимой; просто значок в системном трее - это все приложение. Поэтому я должен скрыть форму во время запуска и сделать NotifyIcon доступным в системном трее с прикрепленным ContextMenuStrip.

Что я уже сделал? Я создал приложение Windows со свойствами формы по умолчанию WindowState-Minimized и ShowInTaskbar-false. Добавил NotifyIcon и прикрепил к нему ContextMenuStrip.

Что происходит? Приложение запускается в виде иконки в системном трее, а форма скрыта. Все идет нормально. Но когда я работаю с другими приложениями и когда я переключаюсь между другими приложениями, используя комбинацию Alt-Tab в Windows, значок приложения появляется в меню приложения переключения; и когда я выбираю свое приложение, появляется форма.

Что ожидается? Приложение не должно быть доступно в меню приложения переключения; потому что форма пуста и к ней не приложены какие-либо функции. Все, что нужно, это значок на панели задач.

Как скрыть запись приложения из меню приложения-переключателя?

Спасибо.

Ответы [ 2 ]

1 голос
/ 30 апреля 2010

Вы можете изменить свою программу так, чтобы она вообще не отображалась, даже не загружалась. Что-то вроде:

    [STAThread]
    static void Main()
    {

    Application.EnableVisualStyles();
    Application.SetCompatibleTextRenderingDefault(false);

    //Instance of your application/form
    NoForm hw = new NoForm();

    Application.Run(); //remove the Form oject from this call

    }

Ваше приложение должно работать, и у вас будет отображаться только ваш NotifyIcon.

0 голосов
/ 02 июня 2010

A Hide(); вызов private void MainForm_Load(object sender, EventArgs e) решил эту проблему.

...