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