using System;
using System.Drawing;
using System.Windows.Forms;
ApplicationConfiguration.Initialize();
Application.Run(new MainForm());
class MainForm : Form
{
Random r = new Random();
public MainForm()
{
Text = "Лабораторная работа №5";
ClientSize = new Size(750, 400);
StartPosition = FormStartPosition.CenterScreen;
BackColor = Color.WhiteSmoke;
Font = new Font("Segoe UI", 11);
FormBorderStyle = FormBorderStyle.FixedSingle;
MaximizeBox = false;
Color normalColor = BackColor;
Font normalFont = Font;
Font newFont = new Font("Consolas", 12, FontStyle.Bold);
bool fontChanged = false;
string[] names = { "Цвет кнопки", "Цвет окна",
"Случайный цвет", "Цвет из палитры",
"Шрифт текста" };
Button[] b = new Button[5];
for (int i = 0; i < 5; i++)
{
b[i] = new Button();
b[i].Text = names[i];
b[i].SetBounds(35, 40 + i * 70, 260, 50);
Controls.Add(b[i]);
}
Color normalButtonColor = b[0].BackColor;
Panel p = new Panel();
p.SetBounds(345, 40, 365, 260);
p.BackColor = Color.White;
p.BorderStyle = BorderStyle.FixedSingle;
Controls.Add(p);
string[] colors = { "Жёлтый", "Белый", "Случайный" };
RadioButton[] rb = new RadioButton[3];
for (int i = 0; i < 3; i++)
{
rb[i] = new RadioButton();
rb[i].Text = colors[i];
rb[i].SetBounds(25, 25 + i * 55, 200, 35);
p.Controls.Add(rb[i]);
}
Button ok = new Button();
ok.Text = "ОК";
ok.SetBounds(225, 195, 110, 40);
p.Controls.Add(ok);
Button exit = new Button();
exit.Text = "Выход";
exit.SetBounds(590, 335, 120, 40);
Controls.Add(exit);
b[0].Click += (s, e) =>
{
if (b[0].BackColor == Color.Red)
b[0].BackColor = normalButtonColor;
else
b[0].BackColor = Color.Red;
};
b[1].Click += (s, e) =>
{
if (BackColor == Color.LightBlue)
BackColor = normalColor;
else
BackColor = Color.LightBlue;
};
b[2].Click += (s, e) =>
BackColor = Color.FromArgb(r.Next(256), r.Next(256), r.Next(256));
b[3].Click += (s, e) =>
{
ColorDialog d = new ColorDialog();
if (d.ShowDialog() == DialogResult.OK)
BackColor = d.Color;
};
b[4].Click += (s, e) =>
{
fontChanged = !fontChanged;
if (fontChanged)
Font = newFont;
else
Font = normalFont;
};
ok.Click += (s, e) =>
{
if (rb[0].Checked)
BackColor = Color.Yellow;
if (rb[1].Checked)
BackColor = Color.White;
if (rb[2].Checked)
BackColor = Color.FromArgb(r.Next(256), r.Next(256), r.Next(256));
};
exit.Click += (s, e) => Close();
}
}