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

 


Контекст устройства (DC) и контекст отображения (Graphics).

 

 

 


рис.3

 

 

Система координат по умолчанию (в пикселях)

 

рис.4

 

Класс Graphics шире DC. Класс реализует и свойства, и инструменты для рисования в контексте DC.

Пример метода рисования прямоугольника:

g.FillRectangle (Brush, Х, У, width, height);

 

здесь g - объект класса Graphics - контекст отображения.

 


Перья

Перья используются для рисования линий и простейших геометрических фигур и соз­даются как объекты класса Pen. Вот соответствующие конструкторы:

 

public Pen (Color);

public Pen (Color, float);                  // Цвет + толщина

public Pen (Brush);                                   // На основе кисти

public Pen (Brush, float);

public Pen (Color.FromArgb(255,155,100) ); // Оранжевое

 

После того как перо создано, программа может использовать его атрибуты при помощи свойств класса Pen. Некоторые из этих свойств перечислены в табл.

 

Свойства пера

Свойство Описание
Alignment Выравнивание пера
Width Ширина линии
Brush Кисть, используемая пером
Color Цвет пера
DashStyle Стиль пунктирных и штрихпунктирных линий
DashCup Вид точек и штрихов пунктирных и штрихпунктирных линий
DashOffset Расстояние от начала линии до начала штриха
DashPattern Массив шаблонов для создания произвольных штрихов и пробе­лов штриховых и штрихпунктирных линий
StartCup EndCup Стиль концов линий
LineCap Формы концов линий
LineJoin Стиль соединения концов двух различных линий
MiterLimit Предельная толщина в области соединения остроконечных линий

 

Пример:              Color color;

 

                                                color = Color.Black

                                           pen = new Pen(color, 2);

 

                                                color = Color.White

                                         pen = new Pen(color, 4);

 

Кисти

Внутренняя область окна и замкнутых геометрических фигур может быть закрашена при помощи кисти. Кисти создаются на базе классов, производных от абстрактного класса Brush. Это следующие классы:

· Brushes;

· SolidBrush;

· HatchBrush;

· TextureBrush;

· LinearGradientBrush;

· PathGradientBrush.

 

Кисть стандартного цвета.

  

Brush brB = Brushes.Blue;

Brush brR = Brushes.Red;

 

Кисть для сплошной закраски:

 

Brush solidBaige = new SolidBrush(Color.Baige);

Brush solidOrangy = new SolidBrush(Color.FromArgb(255,155,100) ); // Оранжевая

 

Кисти типа HatchBrush - прямоугольная кисть

заданного стиля с заданным цветом изображения и фона.

 

Кисти типа TextureBrush – текстурная кисть,

может иметь любой внешний вид и любой цвет.

 

Градиентные кисти - обеспечивают плавное изменение интенсивности цвета.

 

Члены класса Brushes.

Все перечисленные в таблице открытые свойства возвращают объект Brush, определенный системой

 

AliceBlue GhostWhite NavajoWhite
AntiqueWhite Gold Navy
Aqua Goldenrod OldLace
Aquamarine Gray Olive
Azure Green OliveDrab
Beige GreenYellow Orange
Bisque Honeydew OrangeRed
Black HotPink Orchid
BlanchedAlmond IndianRed PaleGoldenrod
Blue Indigo PaleGreen
BlueViolet Ivory PaleTurquoise
Brown Khaki PaleVioletRed
BurlyWood Lavender PapayaWhip
CadetBlue LavenderBlush PeachPuff
Chartreuse LawnGreen Peru
Chocolate LemonChiffon Pink
Coral LightBlue Plum
CornflowerBlue LightCoral PowderBlue
Cornsilk LightCyan Purple
Crimson LightGoldenrodYellow Red
Cyan LightGray RosyBrown
DarkBlue LightGreen RoyalBlue
DarkCyan LightPink SaddleBrown
DarkGoldenrod LightSalmon Salmon
DarkGray LightSeaGreen SandyBrown
DarkGreen LightSkyBlue SeaGreen
DarkKhaki LightSlateGray SeaShell
DarkMagenta LightSteelBlue Sienna
DarkOliveGreen LightYellow Silver
DarkOrange Lime SkyBlue
DarkOrchid LimeGreen SlateBlue
DarkRed Linen SlateGray
DarkSalmon Magenta Snow
DarkSeaGreen Maroon SpringGreen
DarkSlateBlue MediumAquamarine SteelBlue
DarkSlateGray MediumBlue Tan
DarkTurquoise MediumOrchid Teal
DarkViolet MediumPurple Thistle
DeepPink MediumSeaGreen Tomato
DeepSkyBlue MediumSlateBlue Transparent
DimGray MediumSpringGreen Turquoise
DodgerBlue MediumTurquoise Violet
Firebrick MediumVioletRed Wheat
FloralWhite MidnightBlue White
ForestGreen MintCream WhiteSmoke
Fuchsia MistyRose Yellow
Gainsboro Moccasin YellowGreen

 

Дата: 2019-02-02, просмотров: 256.