Загрузка данных
using System;
using System.Drawing;
using System.Windows.Forms;
namespace FlagsProject
{
public partial class Form1 : Form
{
Button btnJapan;
Button btnRussia;
Button btnCzech;
Button btnOlympic;
Button btnWinter;
int mode = 0;
public Form1()
{
InitializeComponent();
this.Text = "Рисование флагов";
this.Width = 900;
this.Height = 700;
this.BackColor = Color.White;
// Кнопка Япония
btnJapan = new Button();
btnJapan.Text = "Японский флаг";
btnJapan.Location = new Point(20, 20);
btnJapan.Click += BtnJapan_Click;
this.Controls.Add(btnJapan);
// Кнопка Россия
btnRussia = new Button();
btnRussia.Text = "Российский флаг";
btnRussia.Location = new Point(160, 20);
btnRussia.Click += BtnRussia_Click;
this.Controls.Add(btnRussia);
// Кнопка Чехия
btnCzech = new Button();
btnCzech.Text = "Флаг Чехии";
btnCzech.Location = new Point(320, 20);
btnCzech.Click += BtnCzech_Click;
this.Controls.Add(btnCzech);
// Кнопка Олимпиада
btnOlympic = new Button();
btnOlympic.Text = "Олимпийский флаг";
btnOlympic.Location = new Point(460, 20);
btnOlympic.Click += BtnOlympic_Click;
this.Controls.Add(btnOlympic);
// Кнопка Зима
btnWinter = new Button();
btnWinter.Text = "Зимний пейзаж";
btnWinter.Location = new Point(640, 20);
btnWinter.Click += BtnWinter_Click;
this.Controls.Add(btnWinter);
this.Paint += Form1_Paint;
}
// Япония
private void BtnJapan_Click(object sender, EventArgs e)
{
mode = 1;
Invalidate();
}
// Россия
private void BtnRussia_Click(object sender, EventArgs e)
{
mode = 2;
Invalidate();
}
// Чехия
private void BtnCzech_Click(object sender, EventArgs e)
{
mode = 3;
Invalidate();
}
// Олимпиада
private void BtnOlympic_Click(object sender, EventArgs e)
{
mode = 4;
Invalidate();
}
// Зима
private void BtnWinter_Click(object sender, EventArgs e)
{
mode = 5;
Invalidate();
}
private void Form1_Paint(object sender, PaintEventArgs e)
{
Graphics g = e.Graphics;
// Очистка
g.Clear(Color.White);
// 1. Японский флаг
if (mode == 1)
{
g.FillRectangle(Brushes.White, 250, 150, 300, 180);
g.DrawRectangle(Pens.Black, 250, 150, 300, 180);
g.FillEllipse(Brushes.Red, 350, 190, 100, 100);
}
// 2. Российский флаг
if (mode == 2)
{
g.FillRectangle(Brushes.White, 250, 150, 300, 60);
g.FillRectangle(Brushes.Blue, 250, 210, 300, 60);
g.FillRectangle(Brushes.Red, 250, 270, 300, 60);
g.DrawRectangle(Pens.Black, 250, 150, 300, 180);
}
// 3. Флаг Чехии
if (mode == 3)
{
g.FillRectangle(Brushes.White, 250, 150, 300, 90);
g.FillRectangle(Brushes.Red, 250, 240, 300, 90);
Point[] triangle =
{
new Point(250,240),
new Point(370,150),
new Point(370,330)
};
g.FillPolygon(Brushes.Blue, triangle);
g.DrawRectangle(Pens.Black, 250, 150, 300, 180);
}
// 4. Олимпийский флаг
if (mode == 4)
{
Pen blue = new Pen(Color.Blue, 5);
Pen black = new Pen(Color.Black, 5);
Pen red = new Pen(Color.Red, 5);
Pen yellow = new Pen(Color.Gold, 5);
Pen green = new Pen(Color.Green, 5);
g.DrawEllipse(blue, 250, 200, 80, 80);
g.DrawEllipse(black, 340, 200, 80, 80);
g.DrawEllipse(red, 430, 200, 80, 80);
g.DrawEllipse(yellow, 295, 250, 80, 80);
g.DrawEllipse(green, 385, 250, 80, 80);
}
// 5. Зимний пейзаж
if (mode == 5)
{
// Небо
g.FillRectangle(Brushes.LightBlue, 0, 100, 900, 300);
// Снег
g.FillRectangle(Brushes.WhiteSmoke, 0, 400, 900, 300);
// Солнце
g.FillEllipse(Brushes.Yellow, 700, 130, 80, 80);
// Елка
Point[] tree1 =
{
new Point(300,400),
new Point(400,250),
new Point(500,400)
};
Point[] tree2 =
{
new Point(320,330),
new Point(400,200),
new Point(480,330)
};
g.FillPolygon(Brushes.Green, tree1);
g.FillPolygon(Brushes.Green, tree2);
// Ствол
g.FillRectangle(Brushes.Brown, 380, 400, 40, 70);
// Снеговик
g.FillEllipse(Brushes.White, 600, 350, 100, 100);
g.FillEllipse(Brushes.White, 620, 280, 60, 60);
// Глаза
g.FillEllipse(Brushes.Black, 635, 300, 5, 5);
g.FillEllipse(Brushes.Black, 655, 300, 5, 5);
// Нос
g.DrawLine(new Pen(Color.Orange, 4), 645, 315, 670, 320);
}
}
}
}