Санкт-Петербург. Разработать windows-приложение, которое включает в себя две формы Form1 и Form2, обуславливающее поиск длины отрезка и угловой коэффициент
Санкт-Петербургский Государственный Политехнический Университет
Задание:
Разработать windows-приложение, которое включает в себя две формы Form1 и Form2, обуславливающее поиск длины отрезка и угловой коэффициент, зная координаты точек конца и начала. В приложении пользователю должен быть предложен выбор, что должна искать программа, длину, коэффициент или и то, и другое. В первом окне разработать меню с кнопками Ввести, Вычислить, Автор и Выход. Также в этом окне должны иметься два поля с названиями, в которых будет отображаться результат. Во втором окне должны быть 4 поля для ввода координат в плоскости, две галочки для выбора, что должна искать программа и кнопка ОК, при нажатии которой закрывается данное окно и снова открывается первое. При нажатии кнопки Вычислить программа выводит результаты в ранее закрытые поля, предназначенные для вывода в них значений. При нажатии кнопки Автор программа выдаёт диалоговое окно, в котором указана информация о студенте (Ф.И. номер группы). При нажатии кнопки Выход программа должна завершить свою работу.
Form1
В данной форме должны присутствовать: - меню, которое содержит в себе: - пункт Ввести, обуславливающий вызов второй формы. - пункт Вычислить, позволяющий при нажатии на него выводить необходимую пользователю информацию в текстовые поля. - пункт Автор, при нажатии на который выдаётся информация о студенте - пункт Выход, при нажатии на который программа завершает свою работу. - два текстовых поля, предназначенных для вывода в них длины и углового коэффициента отрезка. Данные поля не доступны для записи, доступны только для чтения.
Таблица данных:
Код С#: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms;
namespace Баранов_Контрольная_5 { public partial class Form1: Form { public double koef, leng; Form2 form2 = new Form2(); //инициализация объекта второй формы public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { } private void label1_Click(object sender, EventArgs e) { } private void tb_коэффициент_TextChanged(object sender, EventArgs e) { } private void tb_длина_TextChanged(object sender, EventArgs e) { } private void menuStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e) { } private void toolStripContainer1_ContentPanel_Load(object sender, EventArgs e) { } private void менюToolStripMenuItem_Click(object sender, EventArgs e) { } private void ввестиToolStripMenuItem_Click(object sender, EventArgs e) { this.Hide(); form2.Show(); //Запуск второго окна } private void авторToolStripMenuItem_Click(object sender, EventArgs e) { MessageBox.Show("Баранов Максим 13503/1"); } private void выходToolStripMenuItem_Click(object sender, EventArgs e) { Application.Exit(); } private void вычислитьToolStripMenuItem_Click(object sender, EventArgs e) { if (leng!= 0) tb_длина.Text = Convert.ToString(leng); if (koef!= 0) tb_коэффициент.Text = Convert.ToString(koef); } } }
Form2
Это окно отвечает за присвоение значений переменным пользователем с клавиатуры и выбор, что должна считать программа. В данной форме должны быть: - кнопка ок, позволяющая возвращаться обратно в первое окно - 4 поля с наименованиями x1 x2 y1 y2 для ввода координат точек в плоскости - две галочки для предоставления выбора пользователю, что должна считать программа
Таблица данных:
Код С#: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms;
namespace Баранов_Контрольная_5 { public partial class Form2: Form { bool L = false; //Переключатель для вывода длины bool K = false; //Переключатель для вывода коэффициента Form1 f1; //Объект первой формы public Form2() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { try { f1 = new Form1(); double x1, x2, y1, y2; x1 = Convert.ToDouble(tb_x1.Text); y1 = Convert.ToDouble(tb_y1.Text); x2 = Convert.ToDouble(tb_x2.Text); y2 = Convert.ToDouble(tb_y2.Text); if (L == true) f1.leng = Math.Sqrt(Math.Pow((x1 - x2), 2) + Math.Pow((y1 - y2), 2)); if (K == true) f1.koef = Math.Abs((y2 - y1) / (x2 - x1)); f1.Show(); this.Hide(); } catch (Exception er) { MessageBox.Show(er.Message); } // Проверка на правильность ввода переменных } private void checkBox1_Длина_CheckedChanged(object sender, EventArgs e) { L =!L; //инвертирование галочки } private void checkBox2_коэффициент_CheckedChanged(object sender, EventArgs e) { K =!K; //инвертирование галочки }
private void Form2_Load(object sender, EventArgs e) { } private void label3_Click(object sender, EventArgs e) { } } } Тестирование:
|