
- •Лабораторная работа № 1
- •Лабораторная работа № 2
- •InitializeComponent();
- •Лабораторная работа № 3
- •InitializeComponent();
- •Лабораторная работа № 4
- •InitializeComponent();
- •Лабораторная работа № 5
- •InitializeComponent();
- •InitializeComponent();
- •Лабораторная работа № 6
- •InitializeComponent();
- •InitializeComponent();
- •Лабораторная работа № 7
- •InitializeComponent();
- •InitializeComponent();
- •InitializeComponent();
- •Лабораторная работа № 8
- •InitializeComponent();
- •InitializeComponent();
- •InitializeComponent();
- •InitializeComponent();
Лабораторная работа № 6
Задание:
Разработать приложение, позволяющее вычислять периметр и площадь треугольника. Площадь треугольника со сторонами a,b,c и периметром можно вычислить по формуле:
Создать форму, на которой создать меню с командами Ввод, Расчет и Выход.
Нанести на форму три поля типа TextBox для ввода трех сторон треугольника, группу из двух флажков типа CheckBox с названиями «Периметр» и «Площадь».
При выборе команды Ввод обеспечить очистку значений в полях TextBox и сброс флажков.
При выборе команды Расчет обеспечить подсчет периметра и/или площади треугольника. Результат вывести в новой форме. Нанести на эту форму кнопку с надписью ОК, при нажатии на которую форма будет закрываться. Остальной дизайн формы результатов разработать самостоятельно.
При выборе команды Выход обеспечить выход из программы.
Ограничения:
Обеспечить контроль вводимых данных: пользователь должен вводить только положительные числа и не должен вводить другие символы.
Меню Расчет должно активизироваться только в случае ввода всех трех сторон треугольника.
Текст программы:
Главная форма проекта:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Лабораторная_6
{
public partial class Form1 : Form
{
private Form2 form2;
public Form1()
{
InitializeComponent();
}
private void вводToolStripMenuItem_Click(object sender, EventArgs e)
{
textBox1.Clear();
textBox2.Clear();
textBox3.Clear();
checkBox1.Checked = false;
checkBox2.Checked = false;
}
private void выходToolStripMenuItem_Click(object sender, EventArgs e)
{
Close();
}
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
char ch = e.KeyChar;
if (!Char.IsDigit(ch) && ch != 8)
{
e.Handled = true;
}
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
if ((textBox3.Text.Length > 0) && (textBox1.Text.Length > 0) && (textBox2.Text.Length > 0))
{
расчётToolStripMenuItem.Visible = true;
}
if ((textBox3.Text.Length == 0) || (textBox1.Text.Length == 0) || (textBox2.Text.Length == 0))
{
расчётToolStripMenuItem.Visible = false;
}
}
private void расчётToolStripMenuItem_Click(object sender, EventArgs e)
{
form2 = new Form2();
form2.Show();
Int32 a, b, c, s, p;
a = Convert.ToInt32(textBox1.Text);
b = Convert.ToInt32(textBox2.Text);
c = Convert.ToInt32(textBox3.Text);
form2.textBox1.Clear();
form2.textBox2.Clear();
if((checkBox1.Checked==true)&&(checkBox2.Checked == false))
{
form2.label1.Visible = true;
form2.textBox1.Visible = true;
p = a + b + c;
form2.textBox1.AppendText(Convert.ToString(p));
}
if((checkBox2.Checked==true)&&(checkBox1.Checked == false))
{
form2.label2.Visible = true;
form2.textBox2.Visible = true;
p = a + b + c;
s = Convert.ToInt32(Math.Sqrt(p * (p - a) * (p - b) * (p - c)));
form2.textBox2.AppendText(Convert.ToString(s));
}
if ((checkBox1.Checked == true) && (checkBox2.Checked == true))
{
form2.label1.Visible = true;
form2.textBox1.Visible = true;
p = a + b + c;
form2.textBox1.AppendText(Convert.ToString(p));
form2.label2.Visible = true;
form2.textBox2.Visible = true;
p = a + b + c;
s = Convert.ToInt32(Math.Sqrt(p * (p - a) * (p - b) * (p - c)));
form2.textBox2.AppendText(Convert.ToString(s));
}
}
}
}
Форма для отображения периметра или площади:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Лабораторная_6
{
public partial class Form2 : Form
{
public Form2()
{