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

Résolu
paulhochon Messages postés 35 Date d'inscription samedi 15 décembre 2018 Statut Membre Dernière intervention 15 janvier 2019 - 15 déc. 2018 à 15:45
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 - 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

8 réponses

Whismeril Messages postés 19044 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 mai 2024 656
15 déc. 2018 à 15:52
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
1
paulhochon Messages postés 35 Date d'inscription samedi 15 décembre 2018 Statut Membre Dernière intervention 15 janvier 2019
15 déc. 2018 à 16:31
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?
0
Whismeril Messages postés 19044 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 mai 2024 656
15 déc. 2018 à 17:00
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
0
paulhochon Messages postés 35 Date d'inscription samedi 15 décembre 2018 Statut Membre Dernière intervention 15 janvier 2019
Modifié le 15 déc. 2018 à 17:46
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
0
Whismeril Messages postés 19044 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 mai 2024 656
15 déc. 2018 à 20:19
Essaye au Shown plutôt qu’au load, sans certitude je ne fais plus de winform depuis quelques années
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
paulhochon Messages postés 35 Date d'inscription samedi 15 décembre 2018 Statut Membre Dernière intervention 15 janvier 2019
16 déc. 2018 à 16:16
Avec shown cela ne fonctionne pas mieux!
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
16 déc. 2018 à 17:34
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

0
paulhochon Messages postés 35 Date d'inscription samedi 15 décembre 2018 Statut Membre Dernière intervention 15 janvier 2019
17 déc. 2018 à 09:18
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?
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
Modifié le 17 déc. 2018 à 10:58
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

@+
0
paulhochon Messages postés 35 Date d'inscription samedi 15 décembre 2018 Statut Membre Dernière intervention 15 janvier 2019
Modifié le 17 déc. 2018 à 11:45
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 !!
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
Modifié le 17 déc. 2018 à 12:01
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

@+
0
Rejoignez-nous