Загрузка данных


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);
            }
        }
    }
}