Charger une image dans une variable [Résolu]

cs_PHILOUVB 141 Messages postés mardi 18 mars 2003Date d'inscription 3 octobre 2010 Dernière intervention - 3 oct. 2010 à 10:50 - Dernière réponse : NHenry 14178 Messages postés vendredi 14 mars 2003Date d'inscription 21 mai 2018 Dernière intervention
- 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

raffika 269 Messages postés dimanche 31 mai 2009Date d'inscription 12 mars 2011 Dernière intervention - 3 oct. 2010 à 12:47
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de raffika
NHenry 14178 Messages postés vendredi 14 mars 2003Date d'inscription 21 mai 2018 Dernière intervention - 3 oct. 2010 à 13:33
+3
Utile
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 ?

Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de NHenry
raffika 269 Messages postés dimanche 31 mai 2009Date d'inscription 12 mars 2011 Dernière intervention - 3 oct. 2010 à 12:49
0
Utile
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.