Извините, дамп кода, это функции внутри UserControl
private void PNGQuantPreviewControl_Resize(object sender, EventArgs e)
{
createOffScreenBm();
draw();
}
private void createOffScreenBm()
{
offScreenBm = new Bitmap(this.Size.Width, this.Size.Height);
offScreenGfx = Graphics.FromImage(offScreenBm);
}
private void draw()
{
// draw background
offScreenGfx.FillRectangle(transTexture, 0, 0, offScreenBm.Width, offScreenBm.Height);
// draw image preview
offScreenGfx.DrawImage(pngQuantPreview, getTopLeftPosition());
// apply to picture box
this.CreateGraphics().DrawImage(offScreenBm, 0, 0);
}
Таким образом, когда элемент управления изменяет размер, он воссоздает закадровое растровое изображение, чтобы отразить новый размер, и перерисовывает изображение.
Однако, если я быстро изменю размер элемента управления, растровое изображение не заполняет его, слева и / или снизу будет пробел.
Я довольно новичок в C #, так что, вероятно, что-то очевидно, что я делаю не так, или я читаю значения размера не в то время. Есть идеи?