Acceder au picturebox par une boucle [Résolu]

kratosfever 14 Messages postés mardi 19 août 2008Date d'inscription 26 septembre 2008 Dernière intervention - 2 sept. 2008 à 14:49 - Dernière réponse : kratosfever 14 Messages postés mardi 19 août 2008Date d'inscription 26 septembre 2008 Dernière intervention
- 5 sept. 2008 à 13:53
Bonjour,

Je programme actuellement un jeu de carte. Je dois tester pour chaque picturebox l'url
Ex en pseudo langage :

Pour i allant de 1 à 18

si picturebox(i).url = "verso.jpg" alors picturebox(i).url="Recto.jpg"

suivant i

La logique est simple mais je ne sais pas comment faire sous VB.net (VB 2008 pro)

Merci de me repondre si vous savez

La vie ne vaut rien , rien ne vaut la vie...
Afficher la suite 

Votre réponse

5 réponses

youpiyoyo 539 Messages postés vendredi 6 juin 2003Date d'inscription 14 juillet 2010 Dernière intervention - 2 sept. 2008 à 15:30
+3
Utile
Salut,


tu as essayer un truc du genre
imaginons que Recto.jpg est dans tes resources:
for each ct as control in me.controls
  if typeof ct is picturebox then
    dim curPicturebox as picturebox=directcast(ct,picturebox)
    curPicturebox..Image = CType(resources.GetObject("Recto.jpg"), System.Drawing.Image)
  end if
next
tu n'as qu'a testé quelle image est chargé.
@+
youpi :)
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de youpiyoyo
youpiyoyo 539 Messages postés vendredi 6 juin 2003Date d'inscription 14 juillet 2010 Dernière intervention - 2 sept. 2008 à 16:54
+3
Utile
Salut,
cela ne marche pas parce que tu n'as rien importer dans "le_nom_de_ta_form.resx"
le plus simple importe verso et recto dans tes ressouces ensuite:
        For Each ct As Control In Me.Controls
            If TypeOf ct Is PictureBox Then
                Dim curPicturebox As PictureBox = DirectCast(ct, PictureBox)
                If curPicturebox.Image.Flags = My.Resources.verso.Flags Then
                    curPicturebox.Image = My.Resources.recto
                Else
                    curPicturebox.Image = My.Resources.verso 'pour revenir à l'image de départ à toi de gérer comment tu veux faire.
                End If
            End If
        Next

@+
youpi :)
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de youpiyoyo
kratosfever 14 Messages postés mardi 19 août 2008Date d'inscription 26 septembre 2008 Dernière intervention - 5 sept. 2008 à 13:53
+3
Utile
Ca fonctionne maintenant. J'ai utilisé une methode plus simple en reprenant ton casting pour la parcourir !
Imagelocation génére system.drawing.bitmap donc pas de prise de tête
Le jeu fonctionne à merveille merci à vous

La vie ne vaut rien , rien ne vaut la vie...
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de kratosfever
kratosfever 14 Messages postés mardi 19 août 2008Date d'inscription 26 septembre 2008 Dernière intervention - 2 sept. 2008 à 16:10
0
Utile
Je comprend le raisonnement mais :
resources.GetObject

n'est pas reconnu... On se rapproche du but mais ça coince à ce niveau CType(resources.GetObject("Recto.jpg"), System.Drawing.Image)
Le fichier est importé en ressource local sous System.Drawing.Bitmap
La vie ne vaut rien , rien ne vaut la vie...
Commenter la réponse de kratosfever
kratosfever 14 Messages postés mardi 19 août 2008Date d'inscription 26 septembre 2008 Dernière intervention - 2 sept. 2008 à 16:40
0
Utile
Comment afficher l'url contenu dans System.Drawing.Image
Ex : PictureBox2.Image = Image.FromFile("c:\truc.jpg")

dim nono as string
For Each ct As Control In Me.Controls

            If TypeOf ct Is PictureBox Then
                Dim curPicturebox As PictureBox = DirectCast(ct, PictureBox)
                nono = curPicturebox.Image.ToString 'cette ligne ne fonctionne pas... affiche : system.drawing.bitmap
                MsgBox(nono)
            End If
        Next
La vie ne vaut rien , rien ne vaut la vie...
Commenter la réponse de kratosfever

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.