Вивчаємо Visual Studio. NET. Частина 3. Компоненти Windows-додатків, Інтеграція додатків і даних, Бази даних, статті

Частина 2



В попередній статті розповідалося, як за допомогою Microsoft Visual Studio. NET створювати Windows-програми. Ми розглянули основні елементи середовища розробки, які використовуються в цьому процесі, ознайомилися з типами інтерфейсних елементів, а також дізналися, як створити просте одновіконному і MDI-додаток. Крім того, ми розглянули файли, з яких складається проект, та отримали уявлення про їх вміст. У даній статті ми завершуємо знайомство з Microsoft Visual Studio. NET, розповімо про базові принципи організації Windows-додатків і наведемо ряд прикладів використання компонентів, що реалізують інтерфейсні елементи.


Зміст



Генерація коду Windows-додатків


Для того щоб вивчити принципи створення Windows-додатків, давайте створимо новий проект. Нехай це буде Windows-додаток на мові Visual Basic. NET. Після вказівки каталогу, в якому розташоване створюване рішення, і імені проекту ми отримаємо заготовку проекту, що складається з порожньої форми, не містить інших інтерфейсних елементів.


Виділимо у вікні Solution Explorer елемент Form1.vb і з контекстного меню цього елемента виберемо пункт View code.


Отже, тепер наше додаток дозволяє не тільки вводити список подій, але й, будучи запущеним, оповіщає про їх настання. Однак, на наш погляд, воно має істотний недолік – його форма постійно присутня на екрані, що є не найкращою реалізацією програм подібного призначення. Тому нашим наступним кроком буде відображення програми не у вигляді форми, а у вигляді значка в спеціальній області системної панелі, що відображає стан запущених сервісів і додатків.


Для цієї мети ми можемо використовувати компонент NotifyIcon, що дозволяє створити таку піктограму. Це невізуальних компонент, основними властивостями якого є Icon (графічний файл з піктограмою – В нашому прикладі це зображення будильника), Text (напис на ярличку з підказкою) і ContextMenu.


Перш ніж встановити значення властивості ContextMenu цього елемента, слід перенести в додаток компонент ContextMenu (він також невізуальних). Вибравши з контекстного меню створеного нами компонента ContextMenu1 пункт Edit Menu, ми можемо відредагувати його, додавши до нього необхідні пункти, наприклад «Список подій» і «Закрити».


Створимо оброблювачі цих подій:



Private Sub MenuItem4_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MenuItem4.Click
Application.Exit()
End Sub

Private Sub MenuItem1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MenuItem1.Click
Me.Show()
End Sub


Наведений вище фрагмент коду реалізує наступні можливості: при виборі пункту «Список подій» головна форма програми стає видимою, а при виборі пункту «Закрити» додаток закривається. Залишилося тільки змусити форму закриватися при натисканні кнопки «Сховати форму»:



Private Sub Button2_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button2.Click
Me.Hide()
End Sub


Далі властивості ContextMenu компонента NotifyIcon можна присвоїти значення ContextMenu1. Тепер при запуску програми і приховуванні форми можна управляти додатком за допомогою контекстного меню, що з’являється при натисканні правою клавішею миші над відповідною піктограмою.


Таким чином, ми створили програму, нагадує користувачу про події, якщо він попередньо ввів відомості про них.


Висновок


У цій статті ми розповіли про базові принципи організації Windows-додатків і привели ряд прикладів використання компонентів, що реалізують інтерфейсні елементи. На цьому ми завершуємо наше знайомство з Visual Studio. NET. Подальший розгляд цього продукту виходить за рамки тематики нашого журналу.


Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*