Компонент NumericUpDown – варіант класу ComboBox, дозволяє без допомоги клавіатури вводити тільки числові значення в поле. Взагалі, цей елемент має три способи для введення даних: клацання мишкою на покажчики вгору-вниз, використання кнопок вгору-вниз на клавіатурі або введення даних в полі введення.
Вибране значення визначається властивістю UpDownl.Value. Повертає десяткове число, тому потрібно конвертувати його в тип int.
Приклад
int Value = (int)numericUpDownl.Value;
Контейнери елементів
Ціла група елементів-контейнерів в C# призначена для групування елементів. Основні контейнери:
GroupBox – логічне об’єднання елементів (прапорців, перемикачів).
Panel – Підтримує смуги прокрутки. Елементи Panel використовуються для економії простору на формі. Наприклад, якщо елементи, які плануємо розмістити на формі, на ній не уміщаються, то можна помістити їх всередину Panel і встановити для властивості AutoScrol1 об'єкту Panel значення true. В результаті користувач отримає можливість доступу до елементів управління, що не вміщаються, за допомогою смуг прокрутки.
Обробка подій в елементах форми
Функції роботи з формою реалізуються у вигляді обробників подій, які викликаються при виборі відповідних елементів керування. При цьому генерується обробник подій, в який вставляється потрібний код.
Наприклад, при виборі кнопки генерується подія Click.
private void btmClose_Click(object sender, EventArgs e)
{
this.Close();
}
В цьому прикладі при натисканні на кнопку btmClose викликається метод Close(), який закриває форму.
Висновки
Windows-форми є популяним типом програм з інтерфейсом користувача. Вони використовуються для створення як локальних, так і розподілених систем за компонентною ідеологією. В результаті компіляції рішення створюється збірка, яка є готовим до використання компонентом, самодостатнім для розгортання і виконання. До складу збірки входить маніфест та конфігураційна інформація, необхідна і достатня для інтеграції розробленої збірки з іншими. Основним об'єктом є форма, на якій розміщуються елементи керування: текстові поля, списки, кнопки тощо. І форма і її елементи є класами, тому мають властивості, методи і події, за допомогою яких реалізується функціональність програмного компонента. Збірка може мати будь-яку кількість зв'язаних між собою форм.
Контрольні питання і завдання до теми
1. З яких файлів складається клас Form? Чому цей клас розділений на два файли?
2. В якому файлі знаходиться точка входу в збірку?
3. Чим модальна форма відрізняється від немодальної?
4. Що таке неповний клас?
5. Який метод і якого класу запускає програму на виконання? Як називається головний клас збірки?
6. У якому вікні VS розташовані елементи керування і стандартні компоненти?
7. За допомогою якого вікна можна налаштувати властивості форми і її елементів?
8. Як встановити на формі властивості для програмних кнопок, які будуть спрацьовувати при натисненні клавіш Enter i Esc? Які властивості при цьому слід встановити?
9. Яка різниця в елементах керування Label і TextBox?
10. Який елемент є базовим в ієрархії елементів керування?
11. Чим NumericUpDown відрізніяється від ComboBox?
Практичні завдання до Лабораторної роботи №4
Розробка та збирання компонентів
Типу Windows Forms. Багатофункціональні рішення.
Мета завдань - Створення багатофункціонального рішення Windows Forms з елементами керування, обробкою подій від клавіатури й інших компонентів.
Зверніть увагу:
1. Імена класів повинні бути змістовними (змініть, наприклад, ім'я «Form1» на назву задачі Вашого варіанту - «Calendar», «Bank», «Elecro» й т.д.).
Для цього у вікні коду проекту виділить ім'я змінної об'єкту, потім в головному меню виберіть пункт Refactor (Оптимізація) і підпункт Rename (Перенайменувати). У вікні, що відкрилося, вкажіть нове ім'я. Тоді будуть показані всі місця, що вимагають перейменування об'єкту, натисніть кнопку Apply (Застосувати/Применить).
2. ім'я класу і ім'я файлу, що зберігає клас, повинні збігатися. Перейменування імені файлу робиться безпосередньо у вікні проектів Solution Explorer. Достатньо перейменувати Form1.cs на Mile.cs (наприклад). Для цього виділіть ім'я файлу і з контекстного меню (права кнопка миші) виберіть команду Rename.
3. Кожний блок програми повинен мати коментар
Для цього в рядку перед заголовком класу слід набрати три слеша. В результаті перед заголовком класу з'явиться заголовний коментар – тег «summary», в який слід додати короткий, але змістовний опис призначення класу.
Теги «summary», якими слід супроводжувати класи, відкриті (public) методи і поля класу відіграють три важливі ролі. Вони полегшують розробку і супровід проекту, роблячи його самодокументованим. Клієнти класу при створенні об'єктів класу отримують інтелектуальну підказку, що пояснює суть того, що можна робити з об'єктами. Спеціальний інструментарій дозволяє побудувати документацію за проектом, що включає інформацію з тегів «summary».
4. Всі задачі треба розмістити в одному рішенні.
№ варіанту | Зміст завдання |
1 | 1. Написати програму розрахунку вартості доставки посилки. Вхідні дані вартість 1кг вантажу та 1 км доставки. Доставка розраховується в залежності від відстані. 2. Реалізувати Windows-проект для обчислення кубу частки двох десяткових чисел. Вхідні числа вибираються в елементі NumericUpDown. Результат вивести в текстове поле. 3. Написати програму обчислення поточного дня з вашого дня народження. Дату народження вибрати за допомогою компонента MonthCalendar. Результат вивести в текстове поле. |
2 | 1. Написати програму розрахунку прибутку по банківському вкладу. Вхідні дані для розрахунку – сума і термін вкладу (1, 3, 6 чи 12 місяців). Процентна ставка визначається терміном вкладу. Якщо термін вкладу перевищує 12 місяців нараховуються додаткові 2%. 2. Реалізувати Windows-проект для обчислення добутку та частки двох десяткових чисел. Вхідні числа вибираються в елементі NumericUpDown. Результат вивести в текстове поле. 3. Написати програму обчислення поточного дня з вашого дня народження. Дату народження вибрати за допомогою компонента MonthCalendar. Результат вивести в текстове поле. |
3 | 1. Розробити форму для перекладу одиниць площі з метричних в англо-американські одиниці виміру, якщо відомо, що 1м2 = 10,76 кв.футов, 1 см2 = 0,1550 кв. дюймів. 2. Реалізувати Windows-проект для обчислення кубу суми двох десяткових чисел. Вхідні числа вибираються в елементі NumericUpDown. Результат вивести в текстове поле. 3. Написати програму обчислення поточного дня з вашого дня народження. Дату народження вибрати за допомогою компонента MonthCalendar. Результат вивести в текстове поле. |
4 | 1. Написати програму розрахунку вартості оренди квартири. Вхідні дані – час оренди і тип квартири (кількість кімнат та стан (задовільний, добрий, євроремонт). 2. Реалізувати Windows-проект для обчислення квадрат суми двох негативних чисел. Вхідні числа вибираються в елементі NumericUpDown. Результат вивести в текстове поле. 3. Написати програму обчислення поточного дня з вашого дня народження. Дату народження вибрати за допомогою компонента MonthCalendar. Результат вивести в текстове поле. |
5 | 1. Розробити форму для розрахунку ціни замовлення комплексного обіду. Якщо відома ціна першої страви. Ціна другої страви – в двічі вища за ціну першої, салату – в тричі менша за ціну другої, ціна напою й хліба – вводиться з клавіатури. 2. Реалізувати Windows-проект для обчислення різниці квадратів двох позитивних чисел. Вхідні числа вибираються в елементі NumericUpDown. Результат вивести в текстове поле. 3. Написати програму обчислення поточного дня з вашого дня народження. Дату народження вибрати за допомогою компонента MonthCalendar. Результат вивести в текстове поле. |
6 | 1. Написати програму розрахунку вартості оренди автомобіля. Вхідні дані – час оренди і тип автомобіля. Якщо об’єм двигуна більший за 3,5л, надається 15% знижка. 2. Реалізувати Windows-проект для обчислення суми квадратів двох негативних чисел. Вхідні числа вибираються в елементі NumericUpDown. Результат вивести в текстове поле. 3. Написати програму обчислення поточного дня з вашого дня народження. Дату народження вибрати за допомогою компонента MonthCalendar. Результат вивести в текстове поле. |
7 | 1. Написати програму розрахунку вартості доставки меблів. Вхідні дані – номер поверху, інформація про наявність ліфту (грузовий, звичайний), вартість 1 години доставки. 2. Реалізувати Windows-проект для обчислення квадрату різниці двох цілих чисел. Вхідні числа вибираються в елементі NumericUpDown. Результат вивести в текстове поле. 3. Написати програму обчислення поточного дня з вашого дня народження. Дату народження вибрати за допомогою компонента MonthCalendar. Результат вивести в текстове поле. |
8 | 1. Написати програму розрахунку вартості замовлення пива. Вхідні дані для розрахунку – сорт пива (світле, темне), кількість порцій. Якщо кількість замовлень більше 20, надається знижка 15%. 2. Реалізувати Windows-проект для обчислення кубу різниці десяткових чисел. Вхідні числа вибираються в елементі NumericUpDown. Результат вивести в текстове поле. 3. Написати програму обчислення поточного дня з вашого дня народження. Дату народження вибрати за допомогою компонента MonthCalendar. Результат вивести в текстове поле. |
9 | 1. Написати програму розрахунку вартості замовлення друку фотографій. Вхідні дані для розрахунку – розмір (9х12,12х15,18Х24) і кількість фотографій. Якщо кількість фотографій більше 20, то надається знижка 10%.. 2. Реалізувати Windows-проект для обчислення квадрату добутку двох десяткових чисел. Вхідні числа вибираються в елементі NumericUpDown. Результат вивести в текстове поле. 3. Написати програму обчислення поточного дня з вашого дня народження. Дату народження вибрати за допомогою компонента MonthCalendar. Результат вивести в текстове поле. |
10 | 1. Написати програму розрахунку вартості сканування книги та її розміщення в електронній бібліотеці ДонНТУ. Вхідні дані – кількість сторінок, час сканування 1 сторінки, час формування електронного варіанту у форматі DjVu, вартість 1 години виконавця. 2. Реалізувати Windows-проект для обчислення кубу частки двох десяткових чисел. Вхідні числа вибираються в елементі NumericUpDown. Результат вивести в текстове поле. 3. Написати програму обчислення поточного дня з вашого дня народження. Дату народження вибрати за допомогою компонента MonthCalendar. Результат вивести в текстове поле. |
11 | 1. Розробити форму для перекладу одиниць площі з англо-американських одиниць виміру в метричні, якщо відомо, що 1кв.фут = 0,00929 кв.м, 1кв.дюйм = 6,4516 кв.см. 2. Реалізувати Windows-проект для обчислення суму кубів двох десяткових чисел. Вхідні числа вибираються в елементі NumericUpDown. Результат вивести в текстове поле. 3. Написати програму обчислення поточного дня з вашого дня народження. Дату народження вибрати за допомогою компонента MonthCalendar. Результат вивести в текстове поле. |
12 | 1. Написати програму розрахунку вартості заправки газового балону. Вхідні дані – об’єм балону, вартість 1літру газу. 2. Реалізувати Windows-проект для обчислення різницю кубів двох десяткових чисел. Вхідні числа вибираються в елементі NumericUpDown. Результат вивести в текстове поле. 3. Написати програму обчислення поточного дня з вашого дня народження. Дату народження вибрати за допомогою компонента MonthCalendar. Результат вивести в текстове поле. |
13 | 1.Написати програму розрахунку прибутку по банківському вкладу. Вхідні дані для розрахунку – сума і термін вкладу (1, 3, 6 чи 12 місяців). Процентна ставка визначається терміном вкладу. 2. Реалізувати Windows-проект для обчислення квадрату частки двох десяткових чисел. Вхідні числа вибираються в елементі NumericUpDown. Результат вивести в текстове поле. 3. Написати програму обчислення поточного дня з вашого дня народження. Дату народження вибрати за допомогою компонента MonthCalendar. Результат вивести в текстове поле. |
14 | 1. Написати програму розрахунку вартості бензину на заправці. Вхідні дані – кількість літрів, марка бензину (92,95,98) з урахуванням наявністі знижки ( 10% дисконтної картки). 2. Реалізувати Windows-проект для обчислення квадрату суми двох негативних чисел. Вхідні числа вибираються в елементі NumericUpDown. Результат вивести в текстове поле. 3. Написати програму обчислення поточного дня з вашого дня народження. Дату народження вибрати за допомогою компонента MonthCalendar. Результат вивести в текстове поле. |
15 | 1. Написати програму Конвертор для перерахунку валют з доларів, євро, та рублів в гривні. 2. Реалізувати Windows-проект для обчислення додатку та частки двох десяткових чисел. Вхідні числа вибираються в елементі NumericUpDown. Результат вивести в текстове поле. 3. Написати програму обчислення поточного дня з вашого дня народження. Дату народження вибрати за допомогою компонента MonthCalendar. Результат вивести в текстове поле. |
16 | 1. Розробити форму для розрахунку ціни жалюзі за заданими розмірами, якщо відомо, вартість 1м2 жалюзі, і вартість 1м кріплення. 2. Реалізувати Windows-проект для обчислення кубу суми двох негативних чисел. Вхідні числа вибираються в елементі NumericUpDown. Результат вивести в текстове поле. 3. Написати програму обчислення поточного дня з вашого дня народження. Дату народження вибрати за допомогою компонента MonthCalendar. Результат вивести в текстове поле. |
17 | 1. Розробити форму для розрахунку ціни металопластикового вікна (склопакета), якщо відомі розміри вікна та вартість 1м2 склопакета залежно від виду (одно-, двох- або трьох-камерні). 2. Реалізувати Windows-проект для обчислення квадрату суми двох десяткових чисел. Вхідні числа вибираються в елементі NumericUpDown. Результат вивести в текстове поле. 3. Написати програму обчислення поточного дня з вашого дня народження. Дату народження вибрати за допомогою компонента MonthCalendar. Результат вивести в текстове поле. |
18 | 1. Розробити форму для розрахунку ціни базового пакету послуг оператора мобільного зв'язку. Вхідні дані - вартість 100 одиниць SMS, 50 одиниць MMS та 1500хвилин розмови 2. Реалізувати Windows-проект для обчислення кубу частки двох негативних чисел. Вхідні числа вибираються в елементі NumericUpDown. Результат вивести в текстове поле. 3. Написати програму обчислення поточного дня з вашого дня народження. Дату народження вибрати за допомогою компонента MonthCalendar. Результат вивести в текстове поле. |
19 | 1. Написати програму розрахунку вартості друкування книги в типографії. Вхідні дані – кількість сторінок книги, кількість екземплярів та умови виконання замовлення (терміново чи ні). 2. Реалізувати Windows-проект для обчислення різниці квадратів двох негативних чисел. Вхідні числа вибираються в елементі NumericUpDown. Результат вивести в текстове поле. 3. Написати програму обчислення поточного дня з вашого дня народження. Дату народження вибрати за допомогою компонента MonthCalendar. Результат вивести в текстове поле. |
20 | 1. Написати програму розрахунку вартості піци разом з доставкою. Вхідні дані сорт піци і його ціна, вартість доставки розраховується в залежності від відстані. 2. Реалізувати Windows-проект для обчислення суми квадратів двох негативних чисел. Вхідні числа вибираються в елементі NumericUpDown. Результат вивести в текстове поле. 3. Написати програму обчислення поточного дня з вашого дня народження. Дату народження вибрати за допомогою компонента MonthCalendar. Результат вивести в текстове поле. |
21 | 1. Розробити форму для розрахунку ціни вхідної двері за заданими розмірами, якщо відомо, вартість 1м2 полотна, а вартість замка становить 1/5 частину від вартості двері. 2. Реалізувати Windows-проект для обчислення квадрат рідниці двох негативних чисел. Вхідні числа вибираються в елементі NumericUpDown. Результат вивести в текстове поле. 3. Написати програму обчислення поточного дня з вашого дня народження. Дату народження вибрати за допомогою компонента MonthCalendar. Результат вивести в текстове поле. |
22 | 1. Розробити форму для розрахунку ціни металопластикового вікна (склопакета). Вхідні дані - довжина вікна, ширина вікна (см), і вартість 1см2 склопакета 2. Реалізувати Windows-проект для обчислення кубу різниці двох негативних чисел. Вхідні числа вибираються в елементі NumericUpDown. Результат вивести в текстове поле. 3. Написати програму обчислення поточного дня з вашого дня народження. Дату народження вибрати за допомогою компонента MonthCalendar. Результат вивести в текстове поле. |
23 | 1. Розробити форму для перекладу одиниць площі з англо-американських одиниць виміру в метричні, якщо відомо, що 1кв.фут = 0,00929 кв.м, 1кв.дюйм = 6,4516 кв.см., 1кв.фут = 144кв.дюйма. 2. Реалізувати Windows-проект для обчислення суми кубів двох негативних чисел. Вхідні числа вибираються в елементі NumericUpDown. Результат вивести в текстове поле. 3. Написати програму обчислення поточного дня з вашого дня народження. Дату народження вибрати за допомогою компонента MonthCalendar. Результат вивести в текстове поле. |
24 | 1. Розробити форму для обчислення доходу по вкладу за такими формулами: Д = С * (СР1 * (СТ/100), де С-сума вкладу, СР1-термін вкладу (дні СР1 = СРдн/360 або місяці СР1 = СРм/12), СТ-річна процентна ставка. Вхідні дані - сума вкладу, Строк вкладу, Річна ставка. 2. Реалізувати Windows-проект для обчислення різниці кубів двох негативних чисел. Вхідні числа вибираються в елементі NumericUpDown. Результат вивести в текстове поле. 3. Написати програму обчислення поточного дня з вашого дня народження. Дату народження вибрати за допомогою компонента MonthCalendar. Результат вивести в текстове поле. |
25 | 1. Розробити форму для розрахунку ціни замовлення комплексного обіду. Вхідні дані - ціна першої, другої страви, салату і напою. 2. Реалізувати Windows-проект для обчислення різниці та суми двох негативних чисел. Вхідні числа вибираються в елементі NumericUpDown. Результат вивести в текстове поле. 3. Написати програму обчислення поточного дня з вашого дня народження. Дату народження вибрати за допомогою компонента MonthCalendar. Результат вивести в текстове поле. |
Література
1.. Культин Н.Б. Microsoft Visual C# в задачах и примерах. – СПб.: БХВ-Петербург, 2009. -320 с.
2. Кросплатформне програмування: методичні вказівки до самостійної роботи та виконання лабораторних робіт.// Укладач Коротун Т.М. - К. : МНТУ. – 2011
3. Уотсон К., Нейгел К, и др. "Visual C# 2008. Базовый курс", Wiley Publishing, 2009. - 1211с
Теоретичні відомості:
1. Клас ButtonBase і його основні властивості
2. Елемент кнопка. Клас Button
3. Елемент прапорець - клас CheckBox
4. Елемент перемикач – клас RadioButton
5. Активація і деактивація елементів
6. Приховування елементів
7. Динамічне створення елементів
Дата: 2019-02-25, просмотров: 272.