Afficher picturebox récupérée d'un autre formulaire fermé [Résolu]

Messages postés
35
Date d'inscription
samedi 15 décembre 2018
Statut
Membre
Dernière intervention
15 janvier 2019
- - Dernière réponse : cs_Le Pivert
Messages postés
6278
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
17 octobre 2019
- 17 déc. 2018 à 12:00
Bonjour,
je voudrais récupérer une image d'un picturebox d'un formulaire fermé et le faire s'afficher dans un second à son ouverture (pour le mettre en fond dans un picturebox).
Si quelqu'un a une idée.

Merci
Afficher la suite 

8 réponses

Messages postés
13832
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
17 octobre 2019
311
0
Merci
Bonjour

quand tu fermes le formulaire 1, tu enregistres l'image quelques part.
Quand tu ouvres le formulaire 2, tu lui transmet cette image.

Voir
https://codes-sources.commentcamarche.net/faq/11107-interactions-entre-form-en-net-c-et-vb-net
Commenter la réponse de Whismeril
Messages postés
35
Date d'inscription
samedi 15 décembre 2018
Statut
Membre
Dernière intervention
15 janvier 2019
0
Merci
Merci, c'est ce que je pensais, mais tu as vu mon autre post sur lequel j'ai un soucis de plantage.

Comment être sur de pouvoir écrire dans un répertoire accessible sur le DDur du pc ou l'application va s'installée?
Commenter la réponse de paulhochon
Messages postés
13832
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
17 octobre 2019
311
0
Merci
Tu n'es pas obligé d'enregistrer cette image sur le disque, ça peut être dans une variable

Formulaire 1 avec variable Bitmap
Formulaire 2 retourne Bitmap à F1
Formulaire 3 reçoit Bitmap de F1

Lit le tuto, il montre plusieurs façons de faire
Commenter la réponse de Whismeril
Messages postés
35
Date d'inscription
samedi 15 décembre 2018
Statut
Membre
Dernière intervention
15 janvier 2019
0
Merci
ok je vais étudier cela.
Merci pour ton aide...j'en aurais surement encore besoin ;)

Sais-tu pourquoi la méthode ci-dessous fonctionne avec l'intervention d'un "clic" et si je fais la meme chose a l'ouverture de mon form, cela ne fonctionne pas ?

Private Sub BtnancLogo_Click(sender As Object, e As EventArgs) Handles BtnancLogo.Click
        Dim file_name As String = Application.ExecutablePath
        file_name = file_name.Substring(0, file_name.LastIndexOf("\bin")) &
        "\LogoSociete."
        PicBoxLogo.Image = Image.FromFile(file_name & "bmp")

    End Sub


 Private Sub FormDevis_Load(sender As Object, e As EventArgs) Handles Me.Load
        Dim file_name As String = Application.ExecutablePath
        file_name = file_name.Substring(0, file_name.LastIndexOf("\bin")) &
        "\LogoSociete."
        PicBoxLogo2.Image = Image.FromFile(file_name & "bmp")
    End Sub
Whismeril
Messages postés
13832
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
17 octobre 2019
311 -
Essaye au Shown plutôt qu’au load, sans certitude je ne fais plus de winform depuis quelques années
Commenter la réponse de paulhochon
Messages postés
35
Date d'inscription
samedi 15 décembre 2018
Statut
Membre
Dernière intervention
15 janvier 2019
0
Merci
Avec shown cela ne fonctionne pas mieux!
Commenter la réponse de paulhochon
Messages postés
6278
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
17 octobre 2019
87
0
Merci
Bonjour,

comme ceci:

Public Class Form1
    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        Dim file_name As String = Application.StartupPath  'chemin du dossier de l'exe
        PictureBox1.Image = Image.FromFile(file_name & "\Guadeloupe 189.jpg")  'adapter le nom de l'image avec l'extension
    End Sub
    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        Dim file_name As String = Application.StartupPath  'chemin du dossier de l'exe
        PictureBox1.Image = Image.FromFile(file_name & "\Guadeloupe 189.jpg")  'adapter le nom de l'image avec l'extension
    End Sub
End Class

Commenter la réponse de cs_Le Pivert
Messages postés
35
Date d'inscription
samedi 15 décembre 2018
Statut
Membre
Dernière intervention
15 janvier 2019
0
Merci
J'ai mis un événement "got focus" et cela à l'air de fonctionner.

Y a t'il une différence fondamentale entre StartupPath et ExecutablePath?
cs_Le Pivert
Messages postés
6278
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
17 octobre 2019
87 -
Application.StartupPath = chemin du dossier où se trouve l’exécutable


Application. ExecutablePath = chemin de l’exécutable

une petite astuce, quand tu as un doute tu mets ceci:

MsgBox(Application.StartupPath)


MsgBox(Application.ExecutablePath)


cela te renseigne tout de suite

@+
Commenter la réponse de paulhochon
Messages postés
35
Date d'inscription
samedi 15 décembre 2018
Statut
Membre
Dernière intervention
15 janvier 2019
0
Merci
Nickel! Merci à toi.

Sinon à quoi sert le "load" alors puisqu'il ne lance pas ma méthode?

D'ailleurs j'ai déjà remarqué cela plusieurs fois un "buttonclick" fonctionne à tous les coups mais pas un "load" de la form !!
cs_Le Pivert
Messages postés
6278
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
17 octobre 2019
87 -
Je n'ai pas ce problème!

Afficher picturebox récupérée d'un autre formulaire fermé

pour répondre à la question initiale, voir ceci:

https://plasserre.developpez.com/cours/vb-net/?page=windows-forms1#LX-C

@+
Commenter la réponse de paulhochon