Выполнение фоновых приложений. Элемент управления NotifyIcon


Элемент управления NotifyIcon отображает значок в области уведомлений (SystemTray) панели задач, соответствующий приложению, выполняемому в фоновом режиме.


рис.3

Создайте проект SystemTray. Перетащите на форму из окна ToolBox элементы управления ContextMenu и NotifyIcon. Добавьте в контекстное меню пункты "Показать" (имя пункта – menuShow) и "Скрыть" (имя пункта – menuHide).

 

Установите следующие свойства элемента notifyIcon1:

 

свойство Значение
СontextMenu contextMenu1
Icon Icon\ eventlogWarn.ico
Text Задача SystemTray

 

В результате будет сгенерирован следующий код:

 

private System.Windows.Forms.NotifyIcon notifyIcon1;

 

notifyIcon1.ContextMenu = contextMenu1;

notifyIcon1.Icon =

((System.Drawing.Icon)(resources.GetObject("notifyIcon1.Icon")));

notifyIcon1.Text = "Задача SystemTray ";

notifyIcon1.Visible = true;

notifyIcon1.DoubleClick += new EventHandler(menuShow_Click);

 

Изображение, используемое в качестве иконки (свойство Icon) элемента notifyIcon1, будет выводиться в область уведомлений.

Значение свойства Text представляет собой текст всплывающей подсказки, появляющейся при наведении курсора на иконку приложения.

рис.4

 

В конструкторе формы свойству ShowInTaskbar присваиваем значение false для удаления с панели задач иконки нашего приложения:

 

public class Form1 : Form

{

InitializeComponent();

 

// скрываем видимость приложения на панели задач

this.ShowInTaskbar = false;

}

 

Добавляем обработчик пункта меню menuShow:

 

private void menuShow_Click (object sender, System.EventArgs e)

{

// Отобраем приложение на панели задач при запуске

this.ShowInTaskbar = true;

 

//Показываем форму

this.Show();

 

//Отключаем доступность пункта меню menuShow

menuShow.Enabled = false;

 

//Включаем доступность пункта меню menuHide

menuHide.Enabled = true;

}

 

Обработчик пункта меню menuHide изменяет эти значения на обратные:

 

private void menuHide_Click (object sender, System.EventArgs e)

{

this.ShowInTaskbar = false;

this.Hide();

 

menuShow.Enabled = true;

menuHide.Enabled = false;

}

 

В режиме дизайна в окне Properties элемента управления notifyIcon1 переключаемся на события и в поле DoubleClick выбираем из списка обработчик menuShow_Click.

 

Примечание.

Можно было создать свой обработчик для события DoubleClick, а из него вызвать menuShow_Click():

 

private void notifyIcon1_DoubleClick(object sender, EventArgs e)

{

menuShow_Click (this, new EventArgs());

}

 

В результате обработчиком события notifyIcon1_DoubleClick будет обработчик menuShow_Click.

 

Запускаем приложение.

 

В области уведомлений появляется иконка, связанная с notifyIcon1.

 

Пункты контекстного меню отображают и удаляют иконку приложения с панели задач.

 

Так как контекстное меню было установлено для ЭУ notifyIcon1, то двойной щелчок мышки на иконке в области уведомлений выводит пункты "Показать" и "Скрыть":

 


рис.5

 

Эти пункты отображают и удаляют иконку приложения с панели задач. При этом окно приложения по пункту "Показать" отображается на экране только в том случае, если перед этим оно не было свернуто на панель задач.

 


 

ВВЕДЕНИЕ В ГРАФИКУ

1. Интерфейсы GDI и GDI+

GDI – интерфейс графических устройств. Входит в состав Windows. Обеспечивает независимость Windows от графических устройств.

 


GDI+ - объектно-ориентированная подсистема. Состоит из набора базовых классов .NET и опирается на GDI.

Реализована в пространстве имен

System.Drawing.

 

 

 

 


рис.2

 



Дата добавления: 2019-02-08; просмотров: 641;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.012 сек.