Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

№27. Windows Forms

.pdf
Скачиваний:
28
Добавлен:
17.05.2015
Размер:
576.31 Кб
Скачать

Спеціальність: 6.050202

«Автоматизація та комп’ютерно-

ВНТУ, ІнАЕКСУ, каф. КСУ

інтегровані технології»

 

 

Курс: Комп’ютерні технології та програмування. Частина 1

2014 р.

Автор: к.т.н. Грищук Т. В.

 

 

Лекція. Вступ у Windows Forms

Питання:

1.Основні поняття.

2.Інструменти середовища Visual Studio.

3.Властивості основних об’єктів візуального інтерфейсу.

4. Приклад розробки Windows Forms додатку обчислення факторіалу.

1. Основні поняття

Технологія роботи у середовищі Visual Studio базується на ідеях об’єктно-

орієнтованого та візуального програмування.

Ідея об’єктно-орієнтованого програмування полягає в інкапсуляції

(об’єднанні) даних і засобів їх опрацювання (методів) у тип, який називається

класом.

Конкретної змінною певного класу є об’єкт (екземпляр класу).

Прикладами об’єктів можуть бути елементи керування у вікні: кнопки, списки, текстові поля тощо.

Візуальне програмування – це спосіб розробки програмного забезпечення шляхом маніпулювання графічними об’єктами замість написання програмного коду.

В інтегрованому середовищі розробки Visual Studio візуальне програмування переважно застосовується на етапі розробки інтерфейсу користувача.

Якщо у процедурному програмуванні структурними одиницями є дані та команди, то у візуальному програмуванні структурною одиницею є візуальний об’єкт, який називається компонентом. Автоматизація програмування досягається завдяки можливості переносити компонент на форму (у програму) з палітри компонентів і змінювати його властивості, не вносячи вручну змін до програмного коду.

Формою називають компонент, який володіє властивостями вікна ОС Windows і призначений для розташування інших компонентів.

2. Інструменти середовища Visual Studio

Вікно середовища Visual Studio містить головне меню, панелі інструментів,

атакож:

-палітру компонентів;

-вікно властивостей об’єктів;

1

Спеціальність: 6.050202

«Автоматизація та комп’ютерно-

ВНТУ, ІнАЕКСУ, каф. КСУ

інтегровані технології»

 

 

Курс: Комп’ютерні технології та програмування. Частина 1

2014 р.

Автор: к.т.н. Грищук Т. В.

 

 

-вікно форми;

-редактор коду програми.

Ці інструменти стають доступні після створення Windows Forms проекту. Щоб зробити такий проект, оберіть варіант Приложение Windows Forms у вікні створення нового проекту (меню Файл Создать Проект), як показано на рисунку.

Якщо деякі компоненти не відображаються на екрані, перейдіть у меню Вид та оберіть потрібний компонент. В цьому ж меню можна також обирати режими розробки програми: код та конструктор. В режимі Код розробник змінює безпосередньо код програми, а в режимі Конструктор – працює з формою та елементами керування на ній.

Прилад налаштованого середовища показано на рисунку нижче.

2

Спеціальність: 6.050202

«Автоматизація та комп’ютерно-

ВНТУ, ІнАЕКСУ, каф. КСУ

інтегровані технології»

 

 

Курс: Комп’ютерні технології та програмування. Частина 1

2014 р.

Автор: к.т.н. Грищук Т. В.

 

 

Палітра компонентів містить перелік елементів керування, об’єднаних за призначенням у групи: стандартні, контейнери, меню і панелі інструментів, дані, компоненти, друк, діалогові вікна, загальні.

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

За допомогою інспектора об’єктів можна задавати початкові значення властивостей об’єкта та їхню реакцію на стандартні події.

3

Спеціальність: 6.050202

«Автоматизація та комп’ютерно-

ВНТУ, ІнАЕКСУ, каф. КСУ

інтегровані технології»

 

 

Курс: Комп’ютерні технології та програмування. Частина 1

2014 р.

Автор: к.т.н. Грищук Т. В.

 

 

Перелік властивостей має два стовпці: лівий містить назви властивостей компонентів, а правий – їхні значення. Властивості можуть бути простими або комплексними. Комплексні властивості складаються з набору інших властивостей. Такі властивості позначені символом «+», наприклад +Font.

Для введення значень властивостей числового і текстового типу (Width, Name тощо) використовується стандартне поле введення. Значення властивостей перерахованого типу (Align, Cursor тощо) задаються комбінованим списком, звідки вибирають потрібне. Деякі комплексні властивості (Font, Picture, Glyph тощо) використовують діалогові вікна, набір керуючих елементів яких залежить від певної властивості.

Події також подано у вигляді двох стовпців. У лівому відображаються імена стандартних подій, на які об’єкт може реагувати, а в правому – імена методівобробників (функцій), які реалізовуватимуть реакцію на подію. Кожній стандартній події відповідає назва методу, яка з’являється після подвійного клацання мишею у правому стовпці. У цей момент у вікно тексту програми додається шаблон базового коду (функції) для відповідного методу, який треба заповнити.

Форма – це вікно Windows, яке утворюється в одному з можливих для вікон стилів. Увесь внутрішній простір форми є робочою областю, яка має сітку вирівнювання для зручності розташування компонентів. Для виконання групових операцій декілька компонентів можна об’єднувати. Для цього необхідно натиснути на клавішу Shift та, не відпускаючи її, вибрати мишею потрібний компонент на формі. Над компонентами та їх групами можна виконувати операції вирізання, копіювання в буфер обміну та вставляння з буфера.

Для точного визначення позиції та розмірів компонента на формі використовують такі властивості, як Location та Size.

Редактор коду знаходиться в окремому вікні, перейти до якого можна через меню Вид Код (Ctrl+Alt+0). Код програми розміщується у різних текстових файлах (*.cpp, *.h тощо), об’єднаних у вигляді дерева проекту.

4

Спеціальність: 6.050202

«Автоматизація та комп’ютерно-

ВНТУ, ІнАЕКСУ, каф. КСУ

інтегровані технології»

 

 

Курс: Комп’ютерні технології та програмування. Частина 1

2014 р.

Автор: к.т.н. Грищук Т. В.

 

 

3. Властивості основних об’єктів візуального інтерфейсу

В межах цієї лекції розглянемо такі об’єкти, як форма (Form), текстове поле

(Label), зображення (PictureBox), кнопка (Button), текстове поле (TextBox),

перемикач (RadioButton) та прапорець (CheckBox).

Об’єкт Form використовують для створення програмою нового вікна. Розглянемо такі властивості форми:

Властивість

Опис властивості

Приклади значень

AutoScroll

Наявність у формі смуг

True, False

прокручування

 

 

 

 

Перелічений тип

BackColor

Колір фону форми

 

 

 

 

 

 

Перелічений тип

 

Вигляд вказівника миші на

 

Cursor

формі під час виконання

 

 

проекту

 

 

 

 

Enabled

Доступність для дій об’єктів у

True, False

формі під час виконання

 

 

Font

Шрифт

Комплексна властивість

 

 

Вікно може мати довільні розміри

 

 

(Sizable), бути діалогом

 

 

(FixedDialog) або мати фіксовані

 

 

розміри (None)

FormBorderStyle

Можливість змінювати розміри

 

вікна

 

 

 

 

 

 

 

5

 

Спеціальність: 6.050202

«Автоматизація та комп’ютерно-

ВНТУ, ІнАЕКСУ, каф. КСУ

інтегровані технології»

 

 

Курс: Комп’ютерні технології та програмування. Частина 1

2014 р.

Автор: к.т.н. Грищук Т. В.

 

 

 

Задаємо піктограму, яка буде в

None – стандартна піктограма, або

Icon

заголовку форми під час

завантажена з файлу *.ico

 

виконання програми

 

 

Location

Координати лівого верхнього

0, 0

кута вікна у пікселях

числове значення

 

Size

Ширина і висота вікна у

300, 300

пікселях

числове значення

 

StartPosition

Початкове положення форми

 

під час її показу

 

 

 

 

 

 

Text

Заголовок форми

Довільний рядок символів

WindowState

Стан вікна у момент запуску

 

 

 

 

Об’єкт Label використовують для створення текстових полів (написів) у вікні програми. Крім властивостей, аналогічних властивостям об’єкта Form, цей об’єкт володіє ще й такими:

Властивість

Опис властивості

Приклади значень

(Name)

Ім’я, що використовується в

Label1 (ідентифікатор)

коді для ідентифікації об’єкта

 

 

AutoSize

Приведення меж поля до

True, False

границь тексту

 

 

TextAlign

Вирівнювання тексту в межах

 

поля

 

 

 

 

 

 

Visible

Видимість об’єкта

True, False

Об’єкт PictureBox використовують для вставлення графічних об’єктів із файлів типу *.jpg, *.bmp, *.emf, *.ico, *.wmf у форму. Крім перерахованих вище властивостей використовують такі:

Властивість

Опис властивості

Приклади значень

 

Вирівнювання рисунку

 

SizeMode

відносно меж елемента

 

 

керування

 

 

 

 

Image

Ім’я графічного файлу

Задається у діалоговому вікні

 

6

 

Спеціальність: 6.050202

«Автоматизація та комп’ютерно-

ВНТУ, ІнАЕКСУ, каф. КСУ

інтегровані технології»

 

 

Курс: Комп’ютерні технології та програмування. Частина 1

2014 р.

Автор: к.т.н. Грищук Т. В.

 

 

Об’єкт Button використовують для створення кнопок на формі. На кнопках можна розміщувати текст і зображення. Для організації швидкого доступу до кнопки можна призначити мнемонічну клавішу цієї кнопки. Щоб позначити обрану клавішу, потрібно написати амперсанд (&) перед літерою в тексті, що відображається на кнопці. Під час роботи програми користувач зможе натискати сполучення клавіш Alt+Літера замість клацання мишкою на кнопці. Зверніть увагу, що обрана літера підкреслюється.

Об’єкт TextBox використовують для введення користувачем рядка символів з клавіатури. У разі необхідності для перетворення одержаного рядка (властивість Text) у число і навпаки використовують функції С++ StrToFloat та FloatToStr. Окрім відомих вам властивостей, поля редагування TextBox володіють такими:

Властивість

Опис властивості

Приклади значень

 

 

звичайні, великі та малі літери

 

Вигляд символів, які

 

CharacterCasing

набиратимуться в полі

 

 

редагування

 

 

 

 

 

Символ для введення

* (текст відображатиметься зірочками),

PasswordChar

0 (текст відображатиметься нулями)

пароля

 

або пряме відображення тексту

 

 

ReadOnly

Можливість змінити тест

True (текст не можна змінити)

(доступність поля)

False (текст можна змінити)

 

Text

Текст у полі редагування

Довільний рядок символів

Multiline

Можливість запису тексту

True, False

в декілька рядків

 

 

Lines

Рядки в полі у вигляді

Комплексна властивість (задається у

масиву рядків

діалоговому вікні)

 

MaxLength

Максимальна можлива

Наприклад, 50 – п’ятдесят символів, 0 –

кількість уведених

без обмежень

 

 

7

 

 

символів

ВНТУ, ІнАЕКСУ, каф. КСУ

ScrollBars

Наявність смуг

 

прокручування

Спеціальність: 6.050202 «Автоматизація та комп’ютерно-

інтегровані технології»

 

Курс: Комп’ютерні технології та програмування. Частина 1

2014 р.

Автор: к.т.н. Грищук Т. В.

 

Немає, вертикальна, горизонтальна, обидві

Об’єкти RadioButton використовують для створення у формі засобу вибирання однієї альтернативної можливості серед декількох. Розглянемо такі властивості перемикачів:

Властивість

Опис властивості

Приклади значень

Checked

Стан перемикача

True (вибраний)

False (не вибраний)

 

 

TabIndex

Порядок вибору об’єкта

0 (перший), 4 (п’ятий)

клавішею Tab

 

 

TabStop

Доступ до певного об’єкта

True (буде доступний)

табулятором

False (не доступний)

 

Об’єкт CheckBox використовують для створення незалежного двочи трипозиційного прапорця: увімкнено/вимкнено(/недоступний). Для цього об’єкта визначені такі дві нові властивості:

Властивість

Опис властивості

Приклади значень

ThreeState

Наявність третьої позиції

True (трипозиційний прапорець)

False (двопозиційний прапорець)

 

 

CheckState

Стан прапорця

Увімкнено, вимкнено, невизначено

4. Приклад розробки Windows Forms додатку обчислення факторіалу

Розглянемо процес розробки простої програми для обрахунку факторіала цілого числа.

На рисунку показано схему розміщення компонентів на формі.

8

Спеціальність: 6.050202

«Автоматизація та комп’ютерно-

ВНТУ, ІнАЕКСУ, каф. КСУ

інтегровані технології»

 

 

Курс: Комп’ютерні технології та програмування. Частина 1

2014 р.

Автор: к.т.н. Грищук Т. В.

 

 

Тепер нам потрібно змінити текст написів для елементів керування Label і Button та підібрати імена класів для елементів TextBox. Для цього задамо значення властивості Text для всіх елементів, як показано на рисунку.

Зверніть увагу, що кнопка Розгорнути неактивна. Це було зроблено навмисно, оскільки при розгортання спотворюватиме зовнішній вигляд форми. Щоб це зробити, встановіть властивість форми MaximizeBox в значення False.

Текстові поля нам потрібні для введення-виведення даних, тому потрібно змінити для них властивості Name: перше поле назвемо num1, а друге – num2. Макет форми повністю завершено, код компілюється, але нічого не виконується.

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

Додамо файл fact.h в папку Заголовочные файлы, а потім додамо туди прототип функції обчислення факторіала.

long double fact( int N );

Далі підключаємо цей файл у проект за допомогою директиві #include.

9

Спеціальність: 6.050202

«Автоматизація та комп’ютерно-

ВНТУ, ІнАЕКСУ, каф. КСУ

інтегровані технології»

 

 

Курс: Комп’ютерні технології та програмування. Частина 1

2014 р.

Автор: к.т.н. Грищук Т. В.

 

 

#include "fact.h"

Далі аналогічно створюємо файл fact.cpp та одаємо туди реалізацію функції знаходження факторіала цілого числа.

#pragma once #include "stdafx.h"

long double fact(int N)

{

// якщо користувач ввів від’ємне число if(N < 0)

//повертаємо нуль return 0;

//якщо користувач ввів нуль if (N == 0)

//повертаємо факторіал нуля return 1;

//у інших випадках

else

// рекурсивний виклик return N * fact(N - 1);

}

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

int number = (int) System::Convert::ToDouble(num1->Text);

Цей рядок ініціалізує зміну, що зберігає число для обчислення його факторіала. Далі нам потрібно зробити виклик функції fact() з аргументом number та занести результат у нову змінну factor.

double factor = fact(number);

Потім перетворюємо отримане число назад в рядок і передаємо його у друге текстове поле.

num2->Text = System::Convert::ToString(factor);

Тепер можна скомпілювати і запустити нашу програму. Потрібно пам’ятати, що тип double в С++ не може зберігати число більше за 170!.

10

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]