Charger une image dans une variable [Résolu]

Messages postés
141
Date d'inscription
mardi 18 mars 2003
Dernière intervention
3 octobre 2010
- 3 oct. 2010 à 10:50 - Dernière réponse :
Messages postés
14297
Date d'inscription
vendredi 14 mars 2003
Dernière intervention
14 novembre 2018
- 3 oct. 2010 à 13:33
Bonjour à tous

Voici mon petit soucis
J'ai une dizaine de contrôle PictureBox que je vais appeler Pict1, Pict2...
Lorsque je fais un clic droit sur ce PictureBox, un menu contextuel s'ouvre.
A la suite des choix dans les différents menus, j'insère une image enregistrée dans My.Resources

Pour récupérer le nom du PictureBox concerné, j'ai donc créé une variable
Dim MonImage as PictureBox
Et au moment où je fais un clic droit, je récupère le PictureBox concerné

MonImage = Ctype(sender,picturebox)

Ce que je cherche à faire ensuite c'est à attribuer une image à ma variable

MonImage.Image = My.resources.Image1 (par exemple)

et ensuite à redonner au PictureBox de départ l'image contenu dans la variable MonImage

Mais là, je bloque, je me retrouve systématiquement avec un message d'erreur
J'ai essayer avec System.Drawing.Image ou avec FromBitmap, mais rien n'y fait

J'ai trouvé une solution de contournement en récupérant le nom de la variable au départ
Dim MonNom as string = MonImage.Name
Puis avec une instruction SelectCase, mais je pense qu'il y a une méthode plus simple.

Pouvez-vous m'aider ?

Un grand merci par avance

PhilouVB
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
Messages postés
269
Date d'inscription
dimanche 31 mai 2009
Dernière intervention
12 mars 2011
- 3 oct. 2010 à 12:47
3
Merci
Salut,
essayes de déclarer une variable Image.
Voici un code qui au double-clique
attribue au PictureBox2 l'image
du PictureBox1 cliqué avec le bouton droit :
    Private Sub PictureBox1_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseDown
        If e.Button = Windows.Forms.MouseButtons.Right Then
            Dim mii As Image = sender.image
            PictureBox2.Image = mii
        End If
    End Sub

Merci raffika 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 86 internautes ce mois-ci

Commenter la réponse de raffika
Meilleure réponse
Messages postés
14297
Date d'inscription
vendredi 14 mars 2003
Dernière intervention
14 novembre 2018
- 3 oct. 2010 à 13:33
3
Merci
Bonjour,

Raffika, il y a un gros problème dans ton code, tu n'as pas activer Option Strict :

    Private Sub PictureBox1_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseDown
        If e.Button = Windows.Forms.MouseButtons.Right Then
            Dim mii As Image = DirectCast(sender,PictureBox).image
            PictureBox2.Image = mii
        End If
    End Sub


Sinon, si tu ne veut onserver que l'image, utilises le type System.Drawing.Image.

"Mais là, je bloque, je me retrouve systématiquement avec un message d'erreur "
Quel message d'erreur ?

Merci NHenry 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 86 internautes ce mois-ci

Commenter la réponse de NHenry
Messages postés
269
Date d'inscription
dimanche 31 mai 2009
Dernière intervention
12 mars 2011
- 3 oct. 2010 à 12:49
0
Merci
ps : non au clique droit
Commenter la réponse de raffika

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.