Сегодня рассмотрим немаловажную функцию многих программ — сворачивание в трей (для тех кто не знает это область где находятся системные часы, регулятор громкости и т.п.). Вещь это порой очень полезная, а главное удобная. Не будем тянуть время и перейдем к сути вопроса…
Создадим новый Windows Form Application и из панели ToolBox перетащим в наш проект элемент NotifyIcon. Имя по умолчанию для данного элемента «notifyIcon1», что определенно неудобно, поэтому переименуем его в «Tray».
Из свойств нашего элемента «Tray» в первую очередь обратим внимание на следующие:
Icon - Иконка нашего значка; Text - Текст, который будет отображаться, если навести курсором на значок в трее; Visible - Отображается ли значок в трее или нет;
Теперь щелкнем на элементе «Tray» два раза. В коде проекта создастся обработчик события двойного клика по значку в трее. Здесь нам необходимо написать код, который будет показывать нашу форму, если она находилась в свернутом виде:
private void Tray_MouseDoubleClick(object sender, MouseEventArgs e) { if (this.WindowState == FormWindowState.Minimized) { this.Visible = true; this.ShowInTaskbar = true; this.WindowState = FormWindowState.Normal; } }
Так же нам необходимо перегрузить метод сварачивания нашей формы. Для этого укажем ключевое слово «ovveride«, нажмем пробел, и из списка выберем метод «OnResize«. В данном методе напишем:
protected override void OnResize(EventArgs e) { if (this.WindowState == FormWindowState.Minimized) { this.ShowInTaskbar = false; this.Visible = false; } }
Все! Дело сделано! Теперь при сворачивании приложения, оно полностью исчезнет с экрана и останется лишь в трее. При двойном клике на значок в трее мы снова увидим нашу форму.