Циклы. Вывод радуги

Для начала создадим новый проект Windows Forms App

В конструкторе формы подпишемся на событие Paint

public Form1()
{
    InitializeComponent();
    Paint += Form1_Paint;            
}
        
Если после написания += нажать Tag то студия автоматически создаст хендлер (обработчик) для события Paint. Если этого не произошло то можно самостоятельно написать этот метод.

Для  того чтобы вывести радугу, нарисуем 7 отдельных заполненных прямоугольников с помощью метода FillRectangle

private void Form1_Paint(object? sender, PaintEventArgs e)
{
    var h = ClientSize.Height / 7;
    e.Graphics.FillRectangle(Brushes.Red, 0, 0, ClientSize.Width, h);
    e.Graphics.FillRectangle(Brushes.Orange, 0, h, ClientSize.Width, h);
    e.Graphics.FillRectangle(Brushes.Yellow, 0, 2 * h, ClientSize.Width, h);
    e.Graphics.FillRectangle(Brushes.Green, 0, 3 * h, ClientSize.Width, h);
    e.Graphics.FillRectangle(Brushes.LightBlue, 0, 4 * h, ClientSize.Width, h);
    e.Graphics.FillRectangle(Brushes.Blue, 0, 5 * h, ClientSize.Width, h);
    e.Graphics.FillRectangle(Brushes.Violet, 0, 6 * h, ClientSize.Width, h);
}

 

Запустим программу и увидим следующий результат на экране:

Исходный код данного примера вы можете найти здесь

Упражнения

  • Вывести радугу вертикально
  • Сделать чтобы при изменении размеров окна радуга перерисовывалась
  • Сделать вывод прямоугольников с помощью массива цветов и цикла for