Выполнение фоновых приложений. Элемент управления 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; просмотров: 629;