9
votes

Comment centrer l'image dans Imagebox sur Redimensionner?

Comment puis-je centrer une image dans une boîte à images lorsque je redimensionniste le formulaire? Ce que j'ai est une boîte à images dans un panneau, de sorte que si l'image est supérieure à celle de la photo, je peux obtenir des barres de défilement sur le panneau. Mais cela ne fonctionne pas avec le mode Picturebox Taille "Center Image" et fonctionne uniquement avec "Taille automatique".


0 commentaires

3 Réponses :


17
votes

N'utilisez pas une image ici, un panneau est déjà parfaitement capable d'afficher une image centrée à travers sa propriété arrière-planImage. Tout ce qui est nécessaire, c'est d'allumer sa propriété DoubleBuffered pour supprimer le scintillement. Ajoutez une nouvelle classe à votre projet et collez le code ci-dessous. Compiler. Déposez la nouvelle commande du haut de la boîte à outils sur votre formulaire, remplacez le panneau. Attribuez sa propriété de fondImage avec la fenêtre Propriétés ou dans votre code.

using System;
using System.Drawing;
using System.Windows.Forms;

internal class PicturePanel : Panel {
    public PicturePanel() {
        this.DoubleBuffered = true;
        this.AutoScroll = true;
        this.BackgroundImageLayout = ImageLayout.Center;
    }
    public override Image BackgroundImage {
        get { return base.BackgroundImage; }
        set { 
            base.BackgroundImage = value;
            if (value != null) this.AutoScrollMinSize = value.Size;
        }
    }
}


0 commentaires

0
votes

Qu'est-ce qui ne va pas avec l'utilisation de remplissage? XXX


0 commentaires

18
votes

Ceci peut facilement être fait avec la propriété Sizemode

pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;


0 commentaires