Winforms: закрытие программы в системном трее

#vb.net #winforms

#vb.net #winforms

Вопрос:

 'This is the event that is fired as the application is closing, whether it
'be from a close button in the application or from the user
'clicking the X in the upper right hand corner
Private Sub Form1_FormClosing(sender as Object, e as FormClosingEventArgs)   Handles Form1.FormClosing
         'What we will do here is trap the closing of the application and send the application
         'to the system tray (or so it will appear, we will just make it invisible, re-showing
         'it will be up to you and your notify icon)

        'First minimize the form
         Me.WindowState = FormWindowState.Minimized

        'Now make it invisible (make it look like it went into the system tray)
        Me.Visible = False
End Sub
  

Снова привет, Stackoverflow!

Я пытаюсь создать приложение, которое при нажатии X помещает программу в системный трей. Но я понятия не имею, как я могу это сделать, поэтому сделал поиск в Google и нашел этот код. Только VB2010 (то, что я использую) не нравится четвертая строка. Может кто-нибудь дать мне краткое руководство по этому вопросу и заставить это работать в VB 2010?

Кстати, я, скорее всего, буду использовать VB только сегодня вечером, только для создания одного приложения. Так что я не думаю изучать весь язык.

Комментарии:

1. Речь идет не о Visual Studio, а о Winforms. Visual Studio также может создавать неоконные приложения. Пожалуйста, отредактируйте свой вопрос и теги.

2. Не нужно извиняться 🙂 Я просто пытаюсь указать на различие между Visual Studio и API, которые вы используете для создания программ с его помощью.

3. О, ребята, спасибо за большие пальцы! Действительно оцените это …!

Ответ №1:

Похоже, вы нашли код здесь Dream.In.Code: свернуть в системный трей

Вы «продолжали» читать остальные сообщения?

Вам нужно добавить:

 e.Cancel = True
  

к вашему FormClosing событию, иначе программа просто завершится. Кроме того, вам необходимо добавить компонент NotifyIcon и ContextMenuStrip.