Плитка 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.
