Excuse la décharge de code, ce sont des fonctions au sein d'un UserControlUserControl .NET: la propriété Taille donne une valeur incorrecte sur Redimensionner événement
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);
}
Ainsi, lorsque la taille des changements de contrôle, il recrée l'image hors-écran pour refléter la nouvelle taille et redessine l'image.
Cependant, si je redimensionne rapidement le contrôle, le bitmap ne le remplit pas, il y a un espace restant à droite et/ou en bas. Je suis assez nouveau à C#, donc il y a probablement quelque chose de flagrant que je fais mal, ou je lis les valeurs de taille au mauvais moment. Des idées?
Merci beaucoup. J'ai utilisé la propriété DoubleBuffer plutôt que SetStyle. De plus, je n'ai pas réalisé au début d'utiliser l'objet graphique fourni dans le cadre de la méthode OnPaint. –