Программирование в Windows.Forms-приложениях
ОГЛАВЛЕНИЕ
Вступление
Раздел 1. Ознакомление
Раздел 2. Разработка
программы
2.1 Исторические сведения
.2 Детальное описание Form 1
(главное окно)
.2.1 Листинг
.3 Детальное описание Form 2
.3.1 Листинг
.4 Предотвращение ошибок
Раздел 3. Примеры решения
Выводы
Литература
ВВЕДЕНИЕ
Данная курсовая работа помогает вычислять площадь круга и длину
окружности по заданному радиусу.
В описании указаны некие исторические сведения о радиусе, площади и о
самой окружности. Также представлены иллюстрации, код и примеры работы
программы.
Прочитав описание, можно понять поставленную перед разработчиком задачу и
методы ее исполнения.
РАЗДЕЛ 1.
ОЗНАКОМЛЕНИЕ
Моя программа считает площадь круга (Square) и/или длину окружности (Length) по заданному радиусу окружности.
Данный проект состоит из:
- поля ввода типа Text_Box с
меткой;
- группы из двух флажков типа Check_Box;
- кнопки типа Button.
А также обеспечивает возможность:
- ввода радиуса окружности;
- выбора режима с помощью флажков: подсчет площади круга (Square) и/или длины окружности (Length) по заданному радиусу окружности;
- вывода круга введенного радиуса в центре главного окна.
То есть, для того чтобы программа выполнила представленные перед ней
задачи, нужно следовать пошаговой инструкции:
. Откройте программу.
2. Выберите на панели основного меню команду «Input» (при выборе данной команды
открывается диалоговое окно, содержащее величины, необходимые для подсчета).
. Введите радиус окружности.
. Выберите нужную величину для подсчета (площадь круга (Square) и/или длину окружности (Length)).
. Нажмите на кнопку «Send» (при нажатии на данную кнопку данное диалоговое окно закроется).
. В главном окне выбираете команду «Calc» (при выборе данной команды открывается окно
сообщений с результатами).
. При выборе команды «Draw» в центре главного окна выводится круг введенного радиуса или выдается
сообщение, что рисование невозможно (если диаметр превышает размеры рабочей
области).
. При выборе команды «About» открывается диалоговое окно с информацией о разработчике.
. При выборе команды «Exit» приложение завершает работу.
РАЗДЕЛ 2.
РАЗРАБОТКА ПРОГРАММЫ
2.1
Исторические сведения
Окружность - геометрическая фигура, состоящая из всех точек плоскости,
расположенных на заданном расстоянии от данной точки. [1]
Радиус окружности - это отрезок, соединяющий центр с какой-либо точкой
окружности. Все радиусы имеют одну и ту же длину (по определению). [1]
Если у вас нет возможности вычислить радиус окружности математическими
приборами, то можно воспользоваться более практичными способами. Например,
небольшие окружности можно вычерчивать с помощью бечевы и привязанных на
расстоянии длины радиуса двух кольев. Один из них ставится в центр, другим
очерчивается граница круга. [2]
Рис. 2.2.1 - Окружность
Установлено, что какой бы ни была окружность (Рис. 2.1), отношение ее
длины к диаметру является постоянным числом. Это число принято обозначать
буквой π (читается - "пи").[3]
Обозначая длину окружности буквой , а ее диаметр буквой d, запишем
формулу:
Число
π представляет собой соотношение длины окружности к
длине ее диаметра и является постоянной величиной. Значение р
<#"787325.files/image004.gif">
Если
известен радиус (r), то формула длины окружности будет выглядеть так:
Площадь
окружности можно вычислить через константу π и радиус окружности. [3]
Формула
площади круга через радиус выглядит так
2.2
Детальное описание Form1 (главное окно)
Главное окно состоит из меню с командами «Input», «Calc»,
«Draw», «About», «Exit».
. «Input» - при выборе данной команды
открывается диалоговое окно (Рис. 2.2.2), содержащее величины, необходимые для
подсчета.
Рис. 2.2.1 - Окно с величинами
Рис. 2.2.2 - Детальное описание главного окна
Код для данной команды:
private void inputToolStripMenuItem_Click(object sender,
EventArgs e)
{f = new Form2();.ShowDialog();
}
. «Calc» - при выборе данной команды открывается
окно сообщений с результатами (Рис. 2.2.3).
Рис. 2.2.3 - Результаты
Код для данной команды:
private void calcToolStripMenuItem_Click(object sender,
EventArgs e)
{result = "";(Data.Square == true)
{= "Square = " + Convert.ToString(Math.PI *
(Data.Radius * .Radius)) + "\n";
}(Data.Length == true)
{+= "Length = " + Convert.ToString(2 * Math.PI *
Data.Radius);
}(result != "")
{.Show(result, "Result");
}
}
}
. «Draw» - при выборе данной команды в
центре главного окна выводится круг введенного радиуса (Рис. 2.2.4) или
выдается сообщение, что рисование невозможно (если диаметр превышает размеры
рабочей области (Рис. 2.2.5).
Рис. 2.2.4 - Рисунок круга
Рис. 2.2.5 - Недопустимые значения
Код для данной команды:
private void drawToolStripMenuItem_Click(object sender,
EventArgs e)
{image = new Bitmap(pictureBox1.Width, pictureBox1.Height g =
Graphics.FromImage(image);(Data.Radius < 300)
{.DrawEllipse(new Pen(Color.Black), 0, 0, Data.Radius,
Data.Radius);
}
{.DrawString("Слишком
большой размер", new Font("Microsoft Sans ", 12), new
SolidBrush(Color.Black), 0, 0);
}.Image = image; }
4. «About» - при выборе данной команды
открывается диалоговое окно с информацией о разработчике (Рис. 2.2.6).
Рис. 2.2.6 - О программе
Код для данной команды:
private void aboutToolStripMenuItem_Click(object sender,
EventArgs e)
{.Show("Работу выполнил студент 2 курса\nCпециальность
'Прикладная математика'\nKолледж экономики и соц.работы\nСтас
Луканев");
}
. При выборе команды «Exit»
приложение завершает работу (Рис. 2.2.7).
Рис. 2.2.7 - Завершение работы программы
Код для данной команды:
private void exitToolStripMenuItem_Click(object sender,
EventArgs e)
{dr = MessageBox.Show("Выйти их программы?",
"Предупреждение",
MessageBoxButtons.YesNo);(dr == DialogResult.Yes)
{();
}
}
2.2.1
Листинг
Program
{partial class Form1 : Form
{Form1()
{();
}void exitToolStripMenuItem_Click(object sender, EventArgs e)
{dr = MessageBox.Show("Выйти их программы?",
"Предупреждение",
MessageBoxButtons.YesNo);(dr == DialogResult.Yes)
{();
}
}void inputToolStripMenuItem_Click(object sender, EventArgs
e)
{f = new Form2();.ShowDialog();
}void calcToolStripMenuItem_Click(object sender, EventArgs e)
{result = "";(Data.Square == true)
{= "Square = " + Convert.ToString(Math.PI *
(Data.Radius * .Radius)) + "\n";
}(Data.Length == true)
{+= "Length = " + Convert.ToString(2 * Math.PI *
Data.Radius);
}(result != "")
{.Show(result, "Result");
}
{.Show("Вы не выбрали флаги!", "Error");
}
}void drawToolStripMenuItem_Click(object sender, EventArgs e)
{image = new Bitmap(pictureBox1.Width, pictureBox1.Height);g
= Graphics.FromImage(image);(Data.Radius < 300)
{.DrawEllipse(new Pen(Color.Black), 0, 0, Data.Radius,
Data.Radius);
}
{.DrawString("Слишком
большой размер", new Font("Microsoft Sans ", 12), new SolidBrush(Color.Black),
0, 0);
}.Image = image;
}void aboutToolStripMenuItem_Click(object sender, EventArgs
e)
{.Show("Работу выполнил студент 2 курса\nCпециальность
'Прикладная математика'\nKолледж экономики и соц.работы\nСтас
Луканев");
}
}
}
2.3 Детальное
описание Form2
- «Radius» - поле ввода
типа Text_Box с меткой, для ввода радиуса окружности. Был создан
класс Data для обмена данными.
Рис. 2.3.1 - Детальное описание
public static int Radius { get; set; } //радиус.Radius =
Convert.ToInt32(textBox1.Text);
Конвертируем из строкового формата в int и присваиваем значение значению
Radius класса Data.
2 - выбор режима с помощью флажков типа Check_Box: подсчет площади круга (Square) и/или длины окружности (Length) по заданному радиусу окружности.
public static bool Square { get; set; } //статус первого чекбоксаstatic bool Length { get; set; } //статус второго чекбокса
Код для данных режимов:
.Square = checkBox1.Checked;.Length = checkBox2.Checked;
3 -
«Send» - при нажатии на эту кнопку
производятся все расчеты и данное диалоговое окно закрывается.
Код для данной кнопки:
void button1_Click(object sender, EventArgs e)
{
{.Radius = Convert.ToInt32(textBox1.Text); Data.Square =
.Checked;.Length = checkBox2.Checked;();
}(FormatException)
{.Show("Неверный ввод данных!",
"Error");
}
}
2.3.1
Листинг
Program
{partial class Form2 : Form
{Form2()
{();
}void button1_Click(object sender, EventArgs e)
{
{.Radius = Convert.ToInt32(textBox1.Text);.Square =
checkBox1.Checked;.Length = checkBox2.Checked;();
}(FormatException)
{.Show("Неверный ввод данных!",
"Error");
}
}
}
}
2.4
Предотвращение ошибок
. При выборе команды «Calc»
открывается окно сообщений с результатами.
Но для начала нам нужно определить выбраны ли пользователем какие-то
величины, если выбран хотя бы один из пунктов, то выводим окно с результатами:
if (result != "")
{.Show(result, "Result");
}
Если ни один из пунктов не выбран - то выводим окно ошибки (Рис. 2.4.1):
{.Show("Вы не выбрали флаги!", "Error");
}
Рис. 2.4.1 - Ошибка
Задаем строку, которая будет выводиться: string result = "";
Далее смотрим какие выбраны величины:
o если выбран пункт «Square» (Площадь), то задаем условие (Рис. 2.4.2):
if (Data.Square == true)
{= "Square = " + Convert.ToString(Math.PI *
(Data.Radius * .Radius)) + "\n";
}
Рис. 2.4.2 - Площадь
o если выбран пункт «Length» (Длина окружности), то задаем условие (Рис. 2.4.3):
if (Data.Length == true)
{+= "Length = " + Convert.ToString(2 * Math.PI *
Data.Radius);
}
Рис. 2.4.3 - Длина окружности
. «Draw» - при выборе данной команды в
центре главного окна выводится круг введенного радиуса или выдается сообщение,
что рисование невозможно (если диаметр превышает размеры рабочей области).
Чтобы нарисовать круг необходимо для начала создать холст по размерам
pictureBox:
Bitmap image = new Bitmap(pictureBox1.Width,
pictureBox1.Height);
Далее подключаем графику:
g = Graphics.FromImage(image);
Также нам нужно проверить, подойдет ли по размерам заданный круг в
pictureBox, для этого задаем условие:
(Data.Radius < 300)
Если подходит - рисуем круг (Рис. 2.4.4):
if (Data.Radius < 300)
{.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);
И выводим результат (либо рисунок, либо предупреждение):
.Image = image;
Рис. 2.4.5 - Предупреждение
. «Send» - при нажатии на эту кнопку
производятся все расчеты и данное диалоговое окно закрывается.
Мы выполняли операции в безопасном блоке try, чтобы при наличии ошибки при вводе значений, программа
вела себя достойно.
try
{.Radius = Convert.ToInt32(textBox1.Text); Data.Square =
.Checked;.Length = checkBox2.Checked;(); //закрываем окно
}
Если же произошел ввод неверных значений, например, буквы (вместо цифр),
программа выдает ошибку (Рис. 2.4.6):
catch (FormatException)
{.Show("Неверный ввод данных!",
"Error");
}
Рис. 2.4.6 - Ошибка
программа площадь длина окружность
РАЗДЕЛ 3.
ПРИМЕРЫ РЕШЕНИЯ
Пример 1. Дан радиус окружности r = 90 см. Найти:
) Площадь круга;
2) Длину окружности.
Решение:
) Вводим значение радиуса (Рис. 3.1):
Рис. 3.1 - Радиус
Затем ставим флажок напротив нужной величины (Площадь):
Рис. 3.2 - Флажок напротив нужной величины (Площадь)
Нажимаем на кнопку «Send»,
данное окно закроется. Перед нами предстанет главное окно, где мы сможем:) кликнуть
по команде «Calc» и получить результат (Рис. 3.3):
Рис. 3.3 - Результат
) кликнуть по команде «Draw»
и получить рисунок (если радиус не превышает размеры рабочей области), (Рис.
3.4):
Рис. 3.4 - Рисунок
) Вводим значение радиуса, далее выбираем нужную для вычисления
величину (длина окружности), (Рис. 3.5):
Рис. 3.5 - Выбрана длина окружности
Нажимаем на кнопку «Send»,
данное окно закроется. Перед нами предстанет главное окно, где мы сможем
кликнуть по команде «Calc» и получить
результат (Рис. 3.6):
Рис. 3.6 - Результат
ВЫВОДЫ
Разработка этого проекта помогла мне детально разобраться и научиться
более качественно работать в Windows.Forms-приложениях.
Эта программа считает площадь круга (Square) и/или длину окружности (Length) по заданному радиусу окружности.
Данный проект состоит из:
o поля ввода типа Text_Box с меткой;
o группы из двух флажков типа Check_Box;
o кнопки типа Button.
А также обеспечивает возможность:
o ввода радиуса окружности;
o выбора режима с помощью флажков: подсчет площади круга (Square) и/или длины окружности (Length) по заданному радиусу окружности;
o вывода круга введенного радиуса в центре главного окна.
Как вы уже заметили, данный проект весьма актуальный и удобный для
подсчета площади круга (Square)
и/или длины окружности (Length)
по заданному радиусу окружности.
ЛИТЕРАТУРА
1. ГлавСправ. Образование. [Електронный ресурс]
2. Как просто. Електронный журнал. [Електронный ресурс]
. 2mb.
Познавательный журнал. [Електронный ресурс]
4. Школьный помощник. Познавательный журнал. [Електронный ресурс]