Alimenter une picturebox par un openfiledialog [Résolu]

QuiEtesVous - 18 sept. 2012 à 16:24 - Dernière réponse :  QuiEtesVous
- 18 sept. 2012 à 22:54
Bonjour,
Je débute en développement C# et je voulais tenter de me faire un petit outil de gestion de bibliothèque histoire de me faire la main.
Donc, sans entrer dans les détails, j'ai une forme pour renseigner les bouquins et, dans cette forme, une picturebox qui s'appelle pic_couv, ainsi qu'un bouton btn_import pour ouvrir l'openfiledialog.

Le code de mon bouton se présente comme ça :
private void btn_import_Click(object sender, EventArgs e)
        {
            OpenFileDialog dialog = new OpenFileDialog();
            dialog.Filter = "JPEG|*.jpg";
                if (dialog.ShowDialog() == DialogResult.OK)
                {

                    PictureBox pic_couv = new PictureBox();
                    Image image = Image.FromFile(dialog.FileName);
                    pic_couv.Image = image;
                    pic_couv.Dock = DockStyle.Fill;
                    //quoi mettre ici ?
                }
        }

J'ai donc un souci au niveau de ma ligne de commentaire : je ne sais pas quoi mettre pour afficher le contenu de ma picturebox.
En cherchant à droite et à gauche, je suis tombé sur un exemple qui, si je l'imite, donne
Controls.Add(pic_couv);

Si je tente ça, mon image apparaît bien mais pas dans ma picturebox ! Elle remplace l'image de fond de ma forme globale. J'en déduis donc que ce n'est pas ce qu'il faut que j'utilise.
Donc si quelqu'un pouvait éclairer ma lanterne, je ne saurais trop l'en remercier.
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
cs_L0ci 224 Messages postés vendredi 26 novembre 2010Date d'inscription 11 juin 2013 Dernière intervention - 18 sept. 2012 à 16:37
1
Merci
Bonjour,

Je pense que c'est à cause du "pic_couv.Dock = DockStyle.Fill;" qui doit mettre ton control à la taille de ta fenêtre. En définissant une taille / position avant le "Controls.Add(pic_couv);" tu devrais pouvoir régler le pb.

Sinon tu peux aussi créer ta pictureBox dans ton designer pour la mettre la ou tu veux, et simplement utiliser ce bout du code:
private void btn_import_Click(object sender, EventArgs e)
        {
            OpenFileDialog dialog = new OpenFileDialog();
            dialog.Filter = "JPEG|*.jpg";
                if (dialog.ShowDialog() == DialogResult.OK)
                {
                    Image image = Image.FromFile(dialog.FileName);
                    pic_couv.Image = image;
                }
        }

Merci cs_L0ci 1

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de cs_L0ci
QuiEtesVous - 18 sept. 2012 à 22:54
0
Merci
Merci beaucoup !
Effectivement, en instanciant ma picturebox en dehors de ma méthode, mon image apparait bien dedans.
Et pour adapter à la bonne taille, il m'a suffi de passer la propriété d'affichage de l'image à StretchImage.
Commenter la réponse de QuiEtesVous

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.