Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Знайомство з середовищем розробки програм
Visual Studio 2008
В1. Основні поняття про проекти Visual Studio 200
Visual Basic 2008 є складовою частиною програмного пакету Visual Studio 2008 (VS 2008).
VS 2008 це інструмент швидкої розробки програм, який дозволяє редагувати програми, виконувати і відлагоджувати їх в операційній системі Windows.
VS 2008 існує у вигляді різних редакцій. Для програм, які розглядаються в навчальному посібнику можна використати будь-яку редакцію: від VS 2008 Express Edition, яка має мінімальні можливості, і до VS 2008 Professional Edition, яка має максимальні можливості. Для інсталяції будь-якої із редакцій VS 2008 знадобиться процесор з тактовою частотою не нижче 1Ггц, мінімум 256М оперативної памяті та декілька гігабайт вільної дискової памяті.
Підготовка текстів програм, їх компіляція, відлагоджування та виконання здійснюється у інтегрованому середовищі розробки (Integrated Development Environment - IDE). Це середовище у надає однакові можливості для підготовки програм для всіх мов програмування (C++, C#, Visual Basic) і включає багато інтегрованих складових, зокрема головне меню, панель інструментів (Toolbars), конструктор форм (Designer), оглядач розвязків (Solution Explorer), панелі елементів керування (Toolbox). Якщо потрібна складова частина IDE не видима, тоді достатньо викликати пункт View головного меню і далі вибрати цю складову. Точний розмір і форма вікон та інструментів залежать від того, як було налаштоване середовище розробки конкретного користувача. У VS 2008 підтримується багато нових можливостей для роботи з вікнами: прикріплення (dock), автосховування та інші.
Всі програми, які створюються у VS 2008, організовуються у проекти, а проекти обєднуються у розвязки. Проект містить велику кількість файлів різного типу: початкові, проміжні і кінцеві (виконувані). Існує також спеціальний файл проекту (vbproj) і файл розвязку (sin), які містять службову інформацію відповідно про склад проекту та склад розвязку. Корисно знати, що піктограма файла розвязку містить маленьку цифру, яка вказує на номер версії програмного пакету (цифра 8 відповідає VS 2005, а цифра 9 - VS 2008). Візуально структуру проекту можна побачити у діалоговому вікні Solution Esplorer. В цьому вікні можна вибрати будь-яку частину програми і відобразити її у вікні редактора коду.
На рис. 1 показане головне вікно VS 2008, яке зявляється відразу після запуску. На ньому можна виділити декілька основних обєктів: головне меню, стандартну панель інструментів, початкову сторінку (Start Page).
Рисунок 1 Головне вікно VS 2008
В діалоговому вікні початкової сторінки показані назви декількох проектів, які відкривалися останнім часом. Для створення нового проекту необхідно в меню File вибрати послідовно пункти New та Project.
VS 2008 підтримує різні види проектів. Розглянемо деякі основні проекти, які можна створити для мови програмування Visual Basic (рис. 2):
Рисунок 2 Головне вікно VS 2008
Для створення нового проекту необхідно вибрати тип проекту, вказати імя проекту і папку, де він буде зберігатися (якщо не влаштовують ті дані, які VS 2008 надає за замовчуванням). Після закриття вікна “New Project” відкривається нове вікно відповідно з вибраним типом проекту.
В2. Проекти типу Console Application
та Windows Form Application
Найпростішим типом проекту є Console Application. Програма називається консольною, тому що взаємодія з нею відбувається через клавіатуру і дисплей, тобто використовується лише текстовий інтерфейс. На рис. 3 показане діалогове вікно, яке відповідає проекту Console Application. Це вікно є вікном редактора коду програми, де вже створена структура найпростішої консольної програми, яка складається з одного модуля і однієї процедури. Далі можна вводити свої дані і оператори.
Для переважної більшості програм навчального посібника передбачено використання типу проекту Windows Form Application. Цей тип проекту використовує всі графічні можливості Windows, тому є найбільш придатним для вивчення візуального програмування. Якщо в консольній програмі можна безпосередньо працювати з клавіатурою і дисплеєм, то для Windows-програм забороняється безпосередній доступ до апаратних засобів компютера, операції введення-виведення здійснюються тільки через спеціальні функції операційної системи функції API
Рисунок 3 Вікно проекту Console Application
(Application Program Interface). Однак в цьому випадку можна забезпечити багатозадачний режим роботи, коли кожна програма, системна чи прикладна, працює в своєму вікні. А головне, можна скористатись всіма видами графіки: векторної, растрової, тривимірної.
Проект Windows Form Application забезпечує графічний інтерфейс Windows Forms, тобто інтерфейс, який виконується в середовищі CLR. Базовим елементом цього інтерфейсу є форма спеціальне вікно, на яке переміщаються елементи керування (ЕК), які забезпечують зручний інтерфейс з користувачем. Пакет VS 2008 надає кілька десятків ЕК, які знаходяться на панелі елементів керування (Toolbox).
На рис. 4 показане діалогове вікно, яке відповідає проекту Windows Form Application. Після створення такого проекту подальша розробка програми зводиться до таких дій.
1. Інтерактивне створення графічного інтерфейсу користувача на вкладці Form1.vb [Design] (конструктор форми) вибором ЕК у вікні Toolbox і переміщенням їх на форму.
2. Зміна властивостей форми та ЕК у вікні Properties (властивості).
2. Написанням програмного коду обробників подій для визначених ЕК. Підготовка програмного коду здійснюється у вікні редактора коду, в яке можна попасти після подвійного натиснення лівої клавіші миші на відповідному ЕК в конструкторі форми.
Рисунок 4 Вікно проекту Windows Form Application
ТЕМА № 2
Базові елементи інтерфейсу
Зміст теми: Знайомство з різними типами інтерфейсу: однодокументним, багатодокументним та типу провідника. Способи створення меню, панелі інструментів, рядка стану.
Теоретичні відомості
2.1 Загальні відомості про інтерфейс
При створенні будь-якої програми важливою задачею є створення дружнього інтерфейсу з користувачем. Наявність простого і наочного інтерфейсу суттєво полегшує перше знайомство з програмою та її наступне використання. В конкурентній боротьбі різних програмних продуктів завжди перемагає програма із зручним і гарним зовнішнім інтерфейсом.
У сучасних операційних системах використовуються сотні різних програмних пакетів і, звичайно, було б дуже важко їх використовувати, якби кожна програма мала свої оригінальні способи зовнішньої взаємодії. Тому важливим принципом при розробці інтерфейсу користувача є його стандартизація.
Стандартизація проявляється як у використанні готових елементів інтерфейсу (меню, панелі інструментів, діалогових вікон тощо) так і в їх призначенні: назвах, розташуванні. Завдяки цьому значно зменшуються терміни розробки самих програм і час освоєння користувачем нових продуктів. Задача розробника зводиться по суті до формування інтерфейсу із готових інтерфейсних компонентів і написання невеликого програмного коду, який повинен виконуватися при активізації відповідних елементів інтерфейсу.
В цьому розділі ми розглянемо розробку інтерфейсу користувача з використанням основних складових інтерфейсу будь-якої прикладної програми: меню, панелі інструментів, рядка стану .
2.2 Типи інтерфейсів
Зараз для програм, розроблюваних у середовищі Windows з допомогою Visual Basic, використовується три типи інтерфейсів:
SDI-інтерфейс надає можливість роботи тільки з одним документом в одному вікні. Прикладом такого інтерфейсу може бути Блокнот (Notepad). При роботі з декількома документами і різними даними в такому інтерфейсі необхідно багаторазово запускати програму, що призводить до додаткових витрат оперативної памяті. До складу SDI-інтерфейса, як правило, входить тільки головне меню і панель інструментів.
Головна відмінність MDI-інтерфейсу полягає в тому, що для одного інтерфейса можна в одному вікні відкривати багато різних документів. MDI-програми зазвичай складаються з головного (батьківсього вікна), в межах якого можна відкривати багато дочірних вікон. Загалом до складу MDI-інтерфейсу входять меню, панель інструментів, рядок стану, головне і дочірнє вікна, засоби керування дочірними вікнами (Рис. 2.1). Прикладом MDI-програми може бути Microsoft Word.
Рисунок 2.1 Приклад батьківського вікна
Інтерфейс типу провідника розробляється для доступу до ієрархічних деревоподібних структур, тобто до таких структур, де присутня вкладеність. Прикладом вкладеності можуть бути папки і файли. Це аналогія SDI-інтерфейсу, розробленого спеціально для деревоподібних структур. Прикладом такого інтерфейсу є Провідник (Explorer) у Windows.
2.3 Батьківське і дочірні вікна MDI-інтерфейсу
Батьківське вікно MDI-інтерфейсу є контейнером для дочірніх вікон. При його мінімізації разом з ним мінімізуються і всі його дочірні вікна. У тому випадку, коли хоча б одне дочірнє вікно не вміщується у видиму частину батьківського вікна, в головному вікні зявляється смуга прокрутки. Для створення батьківського вікна MDI-інтерфейсу необхідно присвоїти значення True властивості IsMdiContainer стандартної форми Windows.
Дочірні вікна можуть знаходитись тільки всередині батьківського і не можуть бути винесені за його межі. При розгортанні дочірні вікна займають весь простір батьківського вікна, а до його заголовку додається заголовок активного дочірнього вікна у квадратних дужках. (Рис. 2.2). При згортанні дочірнього вікна його піктограма відображається внизу батьківського вікна. Дочірні вікна зручно створювати в результаті виконання обробників подій головного меню батьківського вікна.
Рисунок 2.2 Приклад батьківського і дочірнього вікна
Програмний код такого обробника подій може бути таким:
Dim ChildWindow As New Form
ChildWindow.MdiParent=Me
ChildWindow.Show()
Розташуванням дочірніх вікон у батьківському вікні можна керувати за допомогою методу LayoutMdi, параметр якого може приймати одне із таких значень:
ArrangeIcons, Cascade каскадне розташування;
TileHorizontal розташування у вигляді горизонтальної мозаїки;
TileVertical розташування у вигляді вертикальної мозаїки;
Для розташування дочірніх вікон, наприклад, у вигляді горизонталь-ної мозаїки потрібно дописати у наведений вище обробник події такий рядок: Me.LayoutMdi(MdiLayout.TileHorizontal)
2.4 Меню
Для швидкого доступу до усіх функцій програми є меню: головне меню і контекстне меню.
У Visual Basic 2005/2008 для проектування головного меню використовується елемент керування MenuStrip. Процес створення меню складається з двух основних етапів:
створення візуального рисунку меню;
написання процедур обробки подій для кожного пункта меню.
Для створення візуального рисунку меню використовується спеціальний дизайнер меню, який вмикається після перенесення на форму MenuStrip (Рис.2.3). При цьому обєкт меню зявляється внизу форми на панелі „Область компонент”, а в верхній частині форми зявляється тільки одне поле “TypeHere”. З цього першого поля і розпочинається створення всіх необхідних пунктів меню.
Рисунок 2.3 Вікно дизайнера меню
Для того, щоб пункти меню виконували команди, для них необхідно написати відповідні процедури обробки подій.
Подія це нове поняття, якого не було раніше в обєктно-орієнтованому програмуванні. Подія визначає механізм, що повязує якусь дію (в даному випадку вибір пункту меню) з програмним кодом. Такий програмний код, реалізований за допомогою одного або кількох методів, називають обробником події.
Найпростішим обробником події на вибір пункту меню може бути поява вікна повідомлення MessageBox. В попередній темі детально розглядалися різні способи виклику такого вікна. Програмний код для виклику вікна повідомлення необхідно записати в середині автоматично згенерованих операторів процедур в редакторі коду Code Editor, який викликається подвійним клацанням миші на відповідному пункті меню.
Наприклад, якщо при виборі пункта меню „About” повинно зявитися вікно повідомлення, в заголовку якого має бути назва пункту меню, а текст в середині вікна має містити прізвище розробника, (наприклад, „Ковальчук”), тоді в редакторі коду необхідно записати:
MsgBox("About ", MsgBoxStyle. OkOnly, "Ковальчук")
Виконувати команди меню можна також з допомогою клавіатури, наприклад пункти меню “Open” можна відкрити, натиснувши на клавішу “Alt”, а потім не відпускаючи натиснути також ще на одну клавішу клавішу швидкого доступу. Такою клавішою може бути будь-яка клавіша (частіше перша буква назви пункта меню). Щоб добавити до пункта меню клавішу доступу, необхідно знову активізувати дизайнер меню і ввести перед потрібною буквою в імені меню символ „амперсента” (&). Потрібно звернути увагу, що неможна назначати одну і ту саму клавішу для двох і більше пунктів меню.
2.5 Контекстне меню
Контекстне меню це меню, яке повязане з деякою подією (зазвичай це натиснення правої клавіші миші на обєкті), яка може бути викликана в будь-якому місці програми. В початковому стані контекстне меню невидиме і візуалізується поруч із курсором миші після свого виклику. Контекстним таке меню називається тому, що воно зявляється поруч із вибраним обєктом і його склад залежить від змісту (контексту) цього обєкту).
Для створення контекстного меню використовується елемент керування ContextMenuStrip і процес його формування, як і для головного меню, здійснюється за два етапи.
2.6 Панель інструментів
Панель іструментів (Toolbar) це сукупність візуальних елементів, які виконують функції, аналогічні меню. Головна відмінність від меню полягає в тому, що текстові назви замінюються рисунками. Панель інструментів дублює роботу меню, але вона працює дещо швидше і більш зручна в користуванні. Крім традиційних кнопок, Visual Basic 2005/2008 представляє більшу кількість нових елементів і додаткових властивостей.
Розробка панелі інструментів схожа на процес створення меню і також складається з двух основних етапів:
візуальне створення панелі інструментів;
написання процедур обробки подій для кожного елемента панелі інструментів.
Для створення панелі інструментів у вікні Toolbox є спеціальний ЕК ToolStrip. Візуальне проектування зводиться головним чином до вибору елемента панелі інструментів із списка можливих елементів: кнопки, мітки, списку, розділителя, текстового поля, індикатора виконання (Рис. 2.4). Можна створити власний рисунок у вбудованому графічному редакторі, вибрати готову піктограму, або підключити попередньо створені зображення в будь-якому графічному редакторові.
Рисунок 2.4 Список елементів панелі інструментів
За замовчуванням панель інструментів знаходиться у верхній частині вікна програми. Щоб змінити її знаходження, необхідно використати властивість Dock, яке може приймати одне із значень DockStyle: Bottom (внизу), Fill (на всю форму), Left (зліва), None (в будь-якому місці), Right (справа), Top (зверху).
Для того, щоб можна було під час виконання програми змінювати положення елемента на панелі інструментів за допомогою миші та клавіші <Alt> необхідно властивості AllowItemReorder присвоїти значення True.
У властивосятх панелі інструментів і її окремих складових є можливість для зміни розмірів, кольорової гами, шрифтів, різних підказок і таке інше.
2.7 Рядок стану
Рядок стану це рядок у батьківському вікні, який можна розділити на декілька частин для відповідного виведення в них різної поточної довідкової інформації. Наприклад, можна виводити точні підказки про функції вибраних пунктів меню чи панелі інструментів, або вивести інформацію про поточні дату та час.
Для настроювання рядка стану необхідно спочатку перенести на форму ЕК StatusStrip і потім задати необхідні значення властивостей. За замовчуванням рядок стану розміщується в нижній частині вікна. Список можливих елементів рядка стану схожий на відповідний список панелі інструментів, але вдвічі менший (Рис. 2.5). Для зміни його розташування використовується властивість Dock, яке може приймати ті ж значення, що і однойменна властивість панелі інструментів: Bottom (внизу), Fill (на всю форму), Left (зліва), None (в будь-якому місці), Right (справа), Top (зверху).
Рисунок 2.5 Список елементів рядка стану
Для рядка стану також можна писати обробники різних подій. Наприклад, для виведення інформації про поточний час в рядку стану з іменем status1 необхідно спочатку перенести на батьківську форму ЕК Timer, присвоїти йому імя timer1, далі в процедуру обробки події timer1_Tick цього ЕК записати програмний код
status1.Text = System.DateTime.Now.ToLongTimeString
Активізація таймера відбувається після додавання в процедуру обробки MdiForm1_Load батьківського вікна з іменем MdiForm1 рядка
timer1.Enabled = True
2.8 Інтерфейс типу провідника
Для створення інтерфейсу типу провідника використовуються ЕК ListView і TreeView, які можна знайти у вікні ToolBox.
Інтерфейс програми типу провідника складається з головного меню, панелі інструментів, рядка стану, ієрархічного списку елементів деревоподібної структури (файлів, папок, документів).
Порядок виконання роботи
Виконати послідовно завдання, які представлені у таблицях 2.1 2.3.
Таблиця 2.1 Створення головного меню для SDI інтерфейсу
Завдання |
Виконання |
1. Перенести на форму Form1 ЕК MenuStrip |
Клацнути мишою на ЕК MenuStrip закладки Menus & Toolbars вікна Toolbox. |
2. Створити малюнок меню |
Клацнути мишою на полі “Type Here” і ввести назву для кожного пункту меню. |
3. Переглянути меню |
Натиснути клавішу F5. |
4. Додати клавіши швидкого доступу до команд меню |
Перейти в режим дизайнера. Клацнути мишою на полі “Type Here” для кожного пункту меню і ввести перед іменем меню символ „амперсента”(&). |
5. Написати процедуру обробки подій для кожного пункту меню |
Активізувати дизайнерське меню, клацнути мишою двічі на імені кожного пункта меню і в редакторі коду ввести команду виклику вікна повідомлення MsgBox. |
6. Перевірити роботу меню |
Натиснути клавішу F5. Викликати по черзі кожний пункт меню за допомогою курсора миші та відповідної клавіші швидкого доступу. |
Таблиця 2.2. Створення дочірніх вікон для MDI -інтерфейсу
Завдання |
Виконання |
1. Підготувати створення MDIінтерфейсу у формі Form1 |
Відкрити вікно “Properties” форми Form1 і задати для неї такі значення: Name = MdiForm1 IsMdiContainer = True Text = Батьківське вікно |
2. Створити пункт “Add Window” в головному меню |
Виконати завдання із Таблиці 2.1. тільки для пункту “Add Window” меню. |
3. Запрограмувати створення та виклик дочірнього вікна через головне меню батьківського вікна |
Написати таку процедуру обробки подій для пункту “Add Window” меню: Dim ChildWindow As New Form ChildWindow.MdiParent=Me ChildWindow.Show() |
6. Створити нові дочірні вікна в батьківському вікні |
Натиснути клавішу F5 і потім по черзі викликати пункт “Add Window” . |
7. Закрити дочірні вікна через головне меню батьківського вікна |
По черзі викликаючи пункт меню “Close Window”, закрити дочірні вікна в зворотньому порядку їх створення. |
Таблиця 2.3. Створення панелі інструментів
Завдання |
Виконання |
1. Перенести на форму ЕК ToolStrip |
Клацнути мишою на ЕК ToolStrip закладки Menus & Toolbars вікна Toolbox |
2. Створити набір кнопок панелі інструментів |
Клацнути мишою на списку Add ToolStripButton у лівому верхньому кутку смуги панелі інструментів і вибрати ЕК Button |
3.Вибрати зображення для кожної кнопки панелі інструментів |
в контекстному меню кожної кнопки вибрати пункт “Set Image…”. В відкритому діалоговому вікні натиснути кнопку “Import…” і вибрати графічний файл з необхідним зображенням. |
4. Створити підказку функції кожної кнопки |
В контекстному меню кнопки вибрати команду “Properties” і задати текст підказки для властивості ToolTipText. |
5. Налаштувати додаткові властивості кнопок панелі інструментів |
В контекстному меню кнопки вибрати команду “Properties” і задати нові значення для кольорів та інших параметрів. |
6. Розташувати панель інструментів в різних місцях батьківського вікна |
Через контекстне меню панелі інструментів вибрати пункт “Properties”. Для властивості Dock вибрати різні варіанти розташування. |
7. Написати процедуру обробки подій для кожної кнопки панелі інструментів |
Клацнути мишою двічі на малюнку кожної кнопки і в редакторі коду ввести команди виклику вікна повідомлення MsgBox |
8. Перевірити роботу панелі інструментів |
Натиснути клавішу F5. |
Контрольні питання
PAGE 14