Лабораторные работы си шарп. Циклы»
Приложения для Windows forms
Лабораторная работа 5. For loop
Выполнить: Создайте приложение Windows Forms Application для расчета значения функции z(x,y) = x - y
. Диапазон значений для x
и y
вводятся в текстовые поля.
[Solution and Project name: Lab5
, form name Lab5.cs
]
Пример выполнения:
✍ Алгоритм:
-
Инструментарий:
- Внимание! Задавайте свойство name для элементов управления так, как указано в таблице.
- Создайте проект (Файл → Новый → Проект → Windows Forms Application ), и задайте имя проекта — Lab5; свойство name формы должно быть Lab5 (Окно Свойства → (Name)).
- Расположите элементы на форме так, как это показано на рисунке.
- Запрограммируйте событие Click кнопки. Для этого дважды щелкните по ней на дизайне формы. Откроется код для события. Интервалы для переменных
x
иy
будут вводиться в текстовые поля (textBox). Добавим переменные, которые проассоциируем с данными текстовыми полями. Не забудем перевести вводимые значения в целочисленный тип — int: - Сейчас можно создать вложенный цикл для расчета функции
z(x,y) = x - y
. Внешний цикл будет перебирать значения переменойx
, а внутренний —y
. Продолжите код обработки событияclick
кнопки: - Результаты вычислений будут добавляться в элемент Список — list box; каждый полученный результат — на отдельной строке списка. Будем использовать метод
Add
коллекцииItems
элемента Список: - Запустите приложение, введите значения в текстовые поля и щелкните по кнопке.
- Давайте представим, что вводимые значения были от большего числа к меньшему. В таком случае компилятор выдаст ошибку.
- Добавьте следующий код перед циклом, чтобы проверить вводимый диапазон:
- Мы проверили интервал для
x
. То же самое сделайте дляy
самостоятельно. - Запустите приложение.
элемент управления | свойствоname |
свойство text |
---|---|---|
form | Lab5 | цикл for |
button | btnCalc | Вычислить z(x,y) |
textbox 1 | txtX1 | 0 |
textbox 2 | txtX2 | 0 |
textbox 3 | txtY1 | 0 |
textbox 4 | txtY2 | 0 |
ListBox | lstResult | |
Labels |
private button1_Click(object sender, EventArgs e) { // здесь ваш код: fromX = .Parse(txtX1.Text); toX = .Parse(txtX2.Text); fromY = .Parse(txtY1.Text); toY = .Parse(txtY2.Text); //... }
//... for (int x = fromX; x <= toX; x++) { for (int y = fromY; y <= toY; y++) { // ... } }
//... for (int y = fromY; y <= toY; y++) { // здесь ваш код: lstResult.Items.Add($"z(x,y) = {x} - {y} = {x - y}"); // конец вашего кода }
if (fromX > toX) { .Show("интервал должен быть от меньшего к большему"); txtX1.Text = ""; txtX2.Text = ""; }
Метод
Show
класса MessageBox
используется для вывода диалоговых окон. Лабораторная работа №6. Элемент Timer
Разработайте приложение в Visual c# «таймер» или «Секундомер«, которое при нажатии на кнопку начинает или приостанавливает отсчет времени в секундах.
Разработайте приложение в Visual c# «таймер» или «Секундомер«, которое при нажатии на кнопку начинает или приостанавливает отсчет времени в секундах.
Целью данного урока является ознакомление с объектом Visual c# timer
, рассмотрение его свойств и метода Tick
.
[Solution and Project name: Lab6
, form name Lab6.cs
]
✍ Алгоритм:
Инструментарий:
элемент управления | свойство name |
---|---|
форма | |
текстовое поле (textbox) | txtSeconds |
текстовое поле (textbox) | txtMinutes |
таймер (timer) | tmrSecundomer |
кнопка (button) | btnStart |
Выполнение:
- Создайте на новой форме два текстовых окна: для секунд (txtSeconds) и минут (txtMinutes).
- Создайте элемент управления Timer (tmrSecundomer).
Этот элемент не отображается на форме, а потому размещается в нижней части экрана. Timer необходим, чтобы выполнять какие-либо действия через определенные промежутки времени, поэтому он невидим при работе приложения. Промежуток времени устанавливается свойством таймера Interval, которое измеряется в миллисекундах. Чтобы отсчитывать секунды необходимо установить значение 1000 для этого свойства.
- Установите значение 1000 для свойства Interval элемента Timer.
- Запрограммируйте событие Tick для таймера так, чтобы значение текстового окна секунд увеличивалось на единицу. Для этого дважды щелкните Timer:
private void TmrSecundomer_Tick(object sender, EventArgs e) { // ваш код начинается здесь int tmp = Int32.Parse(txtSeconds.Text); tmp += 1; txtSeconds.Text = tmp.ToString(); //... } |
Событие Tick происходит по истечении времени в миллисекундах, указанного в свойстве Interval.
- Запрограммируйте кнопку (btnStart), которая будет запускать или останавливать Ваш секундомер. Для запуска и остановки отсчета времени используйте тот факт, что изначально таймер заблокирован, т.е. его свойство Enabled равно false. Чтобы запустить таймер необходимо установить это свойство в значение true и наоборот.
- Запустите приложение. Введите в текстовое поле 0 или другое число. Щелкните по кнопке Старт и убедитесь, что значение окна секунд стало увеличиваться на единицу.
Дополнительное задание.
- Измените приложение так, чтобы время изменялось и в секундах и в минутах.
- Добавьте кнопку Сброс, при нажатии на которую время на секундомере обнулялось бы.
- Добавьте текстовое поле и найдите, как вывести в Visual c++ текущее время.
Вопросы для самоконтроля:
- Каково основное назначение элемента управления Timer в Visual c++?
- В каких единицах измеряется его свойство Interval?
- С помощью какого события элемента управления Timer можно выполнять действия через заданные промежутки времени?
- Каков стандартный префикс элемента управления Timer?
- С помощью какой команды можно задать генерирование события Tick элемента управления Timer через каждые 2 секунды?