Плитка PictureBox в C#

Если вы устанавливаете свойство BackgroundImageLayout формы >, то элемент управления заполняется копиями его фонового изображения. Странно, что элемент управления PictureBox не имеет соответствующего свойства Tile. В этом примере показан один способ рисования изображений на PictureBox.

В примере PictureBox есть свойство Anchor, поэтому оно изменяется при изменении формы. Следующий обработчик события Resize обновляет PictureBox.

// Обновите PictureBox.
private void Form1_Resize(object sender, EventArgs e)
{
    picTile.Refresh();
}

В примере используется событие Resize формы вместо события управления PictureBox, потому что это событие иногда вызывает странное поведение.

В следующем коде показан обработчик Paint элемента управления PictureBox.

// Настройте изображение.
private void picTile_Paint(object sender, PaintEventArgs e)
{
    using (TextureBrush brush =
        new TextureBrush(Properties.Resources.Smiley))
    {
        e.Graphics.FillRectangle(brush, picTile.ClientRectangle);
    }
}

Во время разработки я использовал Project & gt; Свойства & gt; Ресурсы для создания ресурса, содержащего изображение Smiley. Обработчик событий Paint использует это изображение для создания TextureBrush. Затем он использует эту кисть для заполнения клиентской области элемента управления PictureBox.

Источник: http://csharphelper.com/blog/2017/09/tile-picturebox-c/

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Adblock
detector