Решение. Создайте новый проект Ex1 в новом решении Lab6

Создайте новый проект Ex1 в новом решении Lab6.

1‑й этап. Создадим визуальный интерфейс приложения (рис. 6.2).

Измените значения свойств формы следующим образом:

Свойство Значение
Name MainForm
Text Конвертер

Поместите на форму компонент Label, измените значения свойств следующим образом:

Свойство Значение
Name CentiMLabel
Text Введите длину в сантиметрах
Font. Size 10

Поместите на форму компонент TextBox, измените значения свойств следующим образом:

Свойство Значение
Name CentiMTextBox
Text  
Font. Size  
TextAlign Right

Поместите на форму компонент Button, измените значения свойств следующим образом:

Свойство Значение
Name ExecuteButton
Font. Size  
Text Перевести

Поместите на форму компонент Label, измените значения свойств следующим образом:

Свойство Значение
Name InchLabel
Font. Size  
Text Длина в дюймах

Поместите на форму компонент TextBox, измените значения свойств следующим образом:

Свойство Значение
Name InchTextBox
Font. Size  
Enabled False
Text  
TextAlign Right

Измените размеры формы в соответствии с расположенными компонентами (рис. 6.2).

2‑й этап. Создание программного кода.

Создайте обработчик события Click кнопки ExecuteButton. Для этого достаточно выполнить двойной щелчок мышью по кнопке. При нажатии на кнопку «Перевести» требуется информацию, введенную пользователем в компонент CentiMTextBox, преобразовать в соответствии с математической формулой: дюймы = сантиметры / 2,54, – и отобразить результат в компоненте InchTextBox. Итак, в обработчике события Click кнопки ExecuteButton введем следующие операторы:

private void ExecuteButton_Click(object sender, EventArgs e)

{

try

{

InchTextBox.Text = (double.Parse(CentiMTextBox.Text)

/2.54).ToString();

}

catch

{

MessageBox.Show("Некорректный ввод данных", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);

CentiMTextBox.Text = "0";

InchTextBox.Text = "0";

}

}

Отметим, что информация, введенная пользователем в компонент CentiMTextBox, хранится в свойстве Text в строковом формате, а значение длины в сантиметрах – это вещественное число. Для преобразования строковой величины в вещественное число используется метод Parse () класса double, для обратного преобразования используется метод ToString (). Кроме того, при попытке перевести строку в число может возникнуть ошибка. Оператор try позволяет обработать эту исключительную ситуацию программным путем и вывести сообщение об ошибке.

Синтаксис оператора:

try

{

… //контролируемый блок

}

catch //один или несколько блоков

{

… //блок обработки исключений

}

finally

{

… //блок завершения

}

Программные инструкции, которые нужно проконтролировать на предмет исключений, помещаются в блок try. Если исключение возникает в этом блоке, оно дает знать о себе выбросом определенного рода информации. Выброшенная информация может быть перехвачена и обработана соответствующим образом с помощью блока catch. Весь код, который должен быть обязательно выполнен при выходе из блока try, в любом случае, произошла ошибка или нет, помещается в блок finally.

Изучению способов использования обработчиков исключительных ситуаций посвящена лекция 4.

Сохраните изменения, внесенные в проект. Запустите приложение.

Создайте обработчик события KeyDown компонента CentiMTextBox. Укажите в нем следующее:

if (e.KeyCode == Keys.Enter) ExecuteButton_Click(sender,e);

Теперь подсчет результата будет выполняться не только при нажатии на кнопку ExecuteButton, но и при нажатии на клавишу Enter. Убедитесь в этом, запустив приложение.

Упражнение 6.2. Дополним приложение «Конвертер» возможностью перевода сантиметров не только в дюймы, но еще и в футы и ярды.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: