2.4 Предотвращение ошибок
1. При выборе команды «Calc» открывается окно сообщений с результатами.
Но для начала нам нужно определить выбраны ли пользователем какие-то величины, если выбран хотя бы один из пунктов, то выводим окно с результатами:
if (result != "")
{
MessageBox.Show(result, "Result");
}
Если ни один из пунктов не выбран - то выводим окно ошибки (Рис. 2.4.1):
else
{
MessageBox.Show("Вы не выбрали флаги!", "Error");
}
Рис. 2.4.1 - Ошибка
Задаем строку, которая будет выводиться: string result = "";
Далее смотрим какие выбраны величины:
o если выбран пункт «Square» (Площадь), то задаем условие (Рис. 2.4.2):
if (Data.Square == true)
{
result = "Square = " + Convert.ToString(Math.PI * (Data.Radius *
Data.Radius)) + " ";
}
Рис. 2.4.2 - Площадь
o если выбран пункт «Length» (Длина окружности), то задаем условие (Рис. 2.4.3):
if (Data.Length == true)
{
result += "Length = " + Convert.ToString(2 * Math.PI * Data.Radius);
}
Рис. 2.4.3 - Длина окружности
2. «Draw» - при выборе данной команды в центре главного окна выводится круг введенного радиуса или выдается сообщение, что рисование невозможно (если диаметр превышает размеры рабочей области).
Чтобы нарисовать круг необходимо для начала создать холст по размерам pictureBox:
Bitmap image = new Bitmap(pictureBox1.Width, pictureBox1.Height);
Далее подключаем графику:
Graphics g = Graphics.FromImage(image);
Также нам нужно проверить, подойдет ли по размерам заданный круг в pictureBox, для этого задаем условие:
if (Data.Radius < 300)
Если подходит - рисуем круг (Рис. 2.4.4):
if (Data.Radius < 300)
{
g.DrawEllipse(new Pen(Color.Black), 0, 0, Data.Radius, Data.Radius);
}
Рис. 2.4.4 - Рисунок
Если не подходит - пишем в pictureBox предупреждение(Рис. 2.4.5):
else
{
g.DrawString("Слишком большой размер", new Font("Microsoft Sans
Serif", 12), new SolidBrush(Color.Black), 0, 0);
}
И выводим результат (либо рисунок, либо предупреждение):
pictureBox1.Image = image;
Рис. 2.4.5 - Предупреждение
3. «Send» - при нажатии на эту кнопку производятся все расчеты и данное диалоговое окно закрывается.
Мы выполняли операции в безопасном блоке try, чтобы при наличии ошибки при вводе значений, программа вела себя достойно.
try
{
Data.Radius = Convert.ToInt32(textBox1.Text); Data.Square =
checkBox1.Checked;
Data.Length = checkBox2.Checked;
Close(); //закрываем окно
}
Если же произошел ввод неверных значений, например, буквы (вместо цифр), программа выдает ошибку (Рис. 2.4.6):
catch (FormatException)
{
MessageBox.Show("Неверный ввод данных!", "Error");
}
Рис. 2.4.6 - Ошибка
программа площадь длина окружность
- Создание расширяемого приложения
- 2.2. Программирование приложений баз данных
- Основи Windows.Forms.
- Технология .Net.
- Системы программирования Приложения
- Системы программирования Приложения
- Программирование интернет-приложений
- Шаблон Windows-приложения
- 2. Что такое .Net? Обзор технологий программирования под Windows.
- 16. Интерфейсы программирования Web-приложений