IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

[C#]Charger une image dans une picture box [Débutant]


Sujet :

Windows Forms

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2012
    Messages : 3
    Points : 2
    Points
    2
    Par défaut [C#]Charger une image dans une picture box
    Bonjour,
    Ayant reçu une petite formation C#, j'ai tenté de me faire la main en me créant une bibliothèque personnalisée.
    Les fiches de chaque bouquin sont censées disposer d'une picturebox alimentée par un OpenFileDialog.
    Et donc en gros, mon code ressemble à ça (au clic sur le bouton) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    using (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.Image = Image.FromFile(Application.StartupPath + @"\images\toto.jpg");
                    }
                }
    (en commentaire, c'est une tentative que j'avais faite d'insérer directement une image)
    Bilan de l'opération : rien ne se passe au niveau de ma picturebox. Lorsque je tente de renseigner sa propriété Image par le code, via un OpenFileDialog ou via le chemin en dur, il ne se passe rien. Si je la renseigne en passant par la vue design de ma classe, l'image s'affiche sans souci.

    J'ai dû oublier un truc, mais je ne vois pas. J'ai collé un point d'arrêt et fait du pas à pas, ce qu'il en ressort, c'est que la propriété FileName de la variable dialog remonte bien mon chemin, mais ça ne va pas plus loin.
    Donc, si vous pouviez m'éclairer, je serais preneur.
    Merci d'avance.

  2. #2
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    J'ai dû oublier un truc, mais je ne vois pas.
    eh oui
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    pic_couv.Parent = MyExistingPanel ;

  3. #3
    Inactif  

    Homme Profil pro
    Ingénieur test de performance
    Inscrit en
    Décembre 2003
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur test de performance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 986
    Points : 2 605
    Points
    2 605
    Par défaut
    Bonjour.

    En fait vous initialisez une PictureBox qui est détruite à la sortie de la fonction...

  4. #4
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2012
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Merci pour vos réponses.
    Je comptais utiliser la directive using pour m'éviter de gérer le dispose, mais du coup je vais éviter !

    J'ai tenté sans using, et sans résultat.
    Quant à la réponse de Graffito, je n'ai pas compris ce qu'était MyExistingPanel.
    Merci de m'éclairer encore un peu plus...

  5. #5
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Un control sans parent ne s'affiche pas. Il faut donc indiquer comme parent l'un des controls défini à la conception (un panel par exemple).

  6. #6
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2012
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Bon, pour tout vous avouer j'étais toujours un peu perplexe vis-à-vis de votre réponse et j'ai essayé autre chose. En ajoutant Controls.Add (pic_couv) à la fin de mon code, je voyais l'image mais pas dans ma picturebox.
    Comme je m'étais inscrit sur un autre forum un peu plus "newbie friendly", j'ai obtenu la solution à mon énigme : en instanciant ma picturebox en dehors de ma méthode, mon image apparait au bon endroit.
    Merci tout de même !

  7. #7
    Inactif  

    Homme Profil pro
    Ingénieur test de performance
    Inscrit en
    Décembre 2003
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur test de performance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 986
    Points : 2 605
    Points
    2 605
    Par défaut
    Bonjour.

    Citation Envoyé par moldavi Voir le message
    En fait vous initialisez une PictureBox qui est détruite à la sortie de la fonction...
    Citation Envoyé par Pas_d_Idee
    en instanciant ma picturebox en dehors de ma méthode
    C'est vrai que je n'ai pas détaillé ma phrase, mais c'était juste un problème de "portée de variable".

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Manipulation d'images : intégrer une image dans une image
    Par noscollections dans le forum VB.NET
    Réponses: 2
    Dernier message: 17/10/2014, 11h51
  2. Une image dans une image (image map?)
    Par oklama dans le forum Langage
    Réponses: 3
    Dernier message: 24/01/2007, 14h13
  3. Mettre une Image dans une Image
    Par shadowhocine dans le forum SWT/JFace
    Réponses: 2
    Dernier message: 19/12/2006, 18h40
  4. Réponses: 3
    Dernier message: 30/10/2006, 11h21
  5. Insérer une légende dans une image avec une police plus petite
    Par Paulinho dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 3
    Dernier message: 29/04/2006, 14h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo