Загрузка данных
using System;
using System.Drawing;
using System.Windows.Forms;
namespace lr16
{
public partial class Form1 : Form
{
private Label lblTitle;
private GroupBox gbMethod;
private Label lblMethodInfo;
private RadioButton rbMethod1;
private RadioButton rbMethod2;
private GroupBox gbCoefficients;
private Label lblA, lblB, lblC;
private ComboBox cbA, cbB, cbC;
private GroupBox gbVariables;
private Label lblX, lblY, lblZ;
private TextBox tbX, tbY, tbZ;
private CheckBox cbIncludeZ;
private Button btnCalculate;
private Button btnClear;
private GroupBox gbResult;
private Label lblResult;
private ListBox lbHistory;
public Form1()
{
InitializeMyComponents();
}
private void InitializeMyComponents()
{
this.ClientSize = new Size(780, 670);
this.Text = "Лабораторная работа №16 — Вариант 10";
this.StartPosition = FormStartPosition.CenterScreen;
this.FormBorderStyle = FormBorderStyle.FixedSingle;
this.MaximizeBox = false;
this.BackColor = Color.WhiteSmoke;
// Заголовок
lblTitle = new Label
{
Text = "Лабораторная работа №16\nМеханизм событий. Простые элементы управления\nВариант 10",
Font = new Font("Segoe UI", 15F, FontStyle.Bold),
TextAlign = ContentAlignment.MiddleCenter,
Location = new Point(20, 10),
Size = new Size(740, 80),
ForeColor = Color.DarkBlue
};
// Группа способа расчёта
gbMethod = new GroupBox
{
Text = "Способ расчёта",
Location = new Point(30, 100),
Size = new Size(720, 115),
Font = new Font("Segoe UI", 10F, FontStyle.Bold)
};
lblMethodInfo = new Label
{
Text = "Выбран способ: Прямое вычисление",
Location = new Point(20, 25),
Size = new Size(500, 20)
};
rbMethod1 = new RadioButton
{
Text = "Способ 1: Прямое вычисление W = a·x + b·y + c·z",
Location = new Point(20, 50),
AutoSize = true
};
rbMethod1.CheckedChanged += rbMethod1_CheckedChanged;
rbMethod2 = new RadioButton
{
Text = "Способ 2: Через массив коэффициентов и цикл for",
Location = new Point(20, 75),
AutoSize = true
};
rbMethod2.CheckedChanged += rbMethod2_CheckedChanged;
gbMethod.Controls.Add(lblMethodInfo);
gbMethod.Controls.Add(rbMethod1);
gbMethod.Controls.Add(rbMethod2);
// Группа коэффициентов
gbCoefficients = new GroupBox
{
Text = "Коэффициенты a, b, c",
Location = new Point(30, 225),
Size = new Size(370, 155),
Font = new Font("Segoe UI", 10F, FontStyle.Bold)
};
lblA = new Label { Text = "a =", Location = new Point(30, 38), AutoSize = true };
cbA = new ComboBox { Location = new Point(85, 35), Width = 140, DropDownStyle = ComboBoxStyle.DropDownList };
lblB = new Label { Text = "b =", Location = new Point(30, 73), AutoSize = true };
cbB = new ComboBox { Location = new Point(85, 70), Width = 140, DropDownStyle = ComboBoxStyle.DropDownList };
lblC = new Label { Text = "c =", Location = new Point(30, 108), AutoSize = true };
cbC = new ComboBox { Location = new Point(85, 105), Width = 140, DropDownStyle = ComboBoxStyle.DropDownList };
gbCoefficients.Controls.Add(lblA);
gbCoefficients.Controls.Add(cbA);
gbCoefficients.Controls.Add(lblB);
gbCoefficients.Controls.Add(cbB);
gbCoefficients.Controls.Add(lblC);
gbCoefficients.Controls.Add(cbC);
// Группа переменных
gbVariables = new GroupBox
{
Text = "Переменные x, y, z",
Location = new Point(420, 225),
Size = new Size(330, 155),
Font = new Font("Segoe UI", 10F, FontStyle.Bold)
};
lblX = new Label { Text = "x =", Location = new Point(30, 38), AutoSize = true };
tbX = new TextBox { Location = new Point(85, 35), Width = 120, TextAlign = HorizontalAlignment.Center };
lblY = new Label { Text = "y =", Location = new Point(30, 73), AutoSize = true };
tbY = new TextBox { Location = new Point(85, 70), Width = 120, TextAlign = HorizontalAlignment.Center };
lblZ = new Label { Text = "z =", Location = new Point(30, 108), AutoSize = true };
tbZ = new TextBox { Location = new Point(85, 105), Width = 120, TextAlign = HorizontalAlignment.Center };
cbIncludeZ = new CheckBox
{
Text = "Включить z в расчёт",
Location = new Point(30, 135),
Checked = true
};
cbIncludeZ.CheckedChanged += cbIncludeZ_CheckedChanged;
gbVariables.Controls.Add(lblX); gbVariables.Controls.Add(tbX);
gbVariables.Controls.Add(lblY); gbVariables.Controls.Add(tbY);
gbVariables.Controls.Add(lblZ); gbVariables.Controls.Add(tbZ);
gbVariables.Controls.Add(cbIncludeZ);
// Кнопки
btnCalculate = new Button
{
Text = "Вычислить W",
Location = new Point(30, 395),
Size = new Size(200, 50),
Font = new Font("Segoe UI", 11F, FontStyle.Bold),
BackColor = Color.FromArgb(0, 122, 204),
ForeColor = Color.White
};
btnCalculate.Click += btnCalculate_Click;
btnClear = new Button
{
Text = "Очистить историю",
Location = new Point(250, 395),
Size = new Size(170, 50)
};
btnClear.Click += btnClear_Click;
// Результат
gbResult = new GroupBox
{
Text = "Результат расчёта",
Location = new Point(30, 460),
Size = new Size(720, 85),
Font = new Font("Segoe UI", 10F, FontStyle.Bold)
};
lblResult = new Label
{
Text = "Результат: W = ?",
Location = new Point(20, 30),
Size = new Size(680, 40),
Font = new Font("Segoe UI", 14F, FontStyle.Bold),
ForeColor = Color.DarkGreen
};
gbResult.Controls.Add(lblResult);
// История
lbHistory = new ListBox
{
Location = new Point(30, 560),
Size = new Size(720, 90),
Font = new Font("Consolas", 9.5F)
};
// Добавляем на форму
this.Controls.Add(lblTitle);
this.Controls.Add(gbMethod);
this.Controls.Add(gbCoefficients);
this.Controls.Add(gbVariables);
this.Controls.Add(btnCalculate);
this