Changer l'image de plusierus picturebox [Résolu]

Signaler
Messages postés
130
Date d'inscription
jeudi 22 décembre 2005
Statut
Membre
Dernière intervention
23 novembre 2011
-
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
-
Bonjour à tous,

Je veux changer l'image de plusieurs Picturebox dans une form, en même temps et ca ne fonctionne pas

LedPictureOff = My.Resources.blue_off_16
        My.Settings.Save()

        For Each picture In Me.Controls
            If TypeOf picture Is PictureBox Then
                picture.Image = LedPictureOff
            End If
        Next


Est-ce qu'il y a quelqu'un qui peut me guidé??..

Merci

20 réponses

Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
50
Salut

prend la bonne habitude de définir tes variable
Dim myimage As Image
    'modifie selon tes besoins
  myimage = My.Resources._10_prota_a
  For Each C As Control In Me.Controls
      If TypeOf (C) Is PictureBox Then
         DirectCast(C, PictureBox).Image = myimage
      End If
Next
Messages postés
130
Date d'inscription
jeudi 22 décembre 2005
Statut
Membre
Dernière intervention
23 novembre 2011

ShayW...j'y avais pas penser elle sont dans une groupbox..je vais tester de ce pas
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
76
Salut

LedPictureOff : c'est quoi ?
Quel type ?

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)

Bonjour Morit

C'est quoi le
"blue_off_16"?


CF2i - Guadeloupe
Ingénierie Informatique
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
50
Salut Active

LE
"blue_off_16"

c'est le non de son image
qu'est ce ça représente
Messages postés
130
Date d'inscription
jeudi 22 décembre 2005
Statut
Membre
Dernière intervention
23 novembre 2011

j'avais défini ma variable plus au dans mon code

Public LedPictureOff As System.Drawing.Bitmap

Salut Shay,

Ahh ok... excuse j'ai la tête ailleurs ce matin..
Mais ton code devrait fonctionner (j'ai pas testé)


CF2i - Guadeloupe
Ingénierie Informatique
Messages postés
130
Date d'inscription
jeudi 22 décembre 2005
Statut
Membre
Dernière intervention
23 novembre 2011

le blue_off_16 est le nom de mon image dans mes ressource...toute les images sont mis en ressource c'est pour ca
Messages postés
130
Date d'inscription
jeudi 22 décembre 2005
Statut
Membre
Dernière intervention
23 novembre 2011

je viens de tester le code de ShayW et ca ne fonctionne pas...
Messages postés
1241
Date d'inscription
mardi 10 octobre 2006
Statut
Membre
Dernière intervention
27 août 2013
6
Bonjour,

Ca ne fonctionne pas c'est vague, tu n'as pas de message d'erreur?
As-tu lancé le code en mode Pas à pas pour vérifier la valeur de tes variables?
Es-tu sûr au moins de passer dans ta boucle for each?


L'expérience, c'est une connerie par jour, mais jamais la même..
Messages postés
130
Date d'inscription
jeudi 22 décembre 2005
Statut
Membre
Dernière intervention
23 novembre 2011

je viens de passer en revue tous les controls (en debug) qu'il trouve mais il ne m'indique pas les Picturebox... seulement les boutons, checkbox etc...
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
50
ca ne fonctionne pas...

qui quoi ?
une erreur ? tes pictureboxes ne changent pas ?
essaye ça

Public LedPictureOff As System.Drawing.Bitmap
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
LedPictureOff = My.Resources.blue_off_16
  For Each C As Control In Me.Controls
      If TypeOf (C) Is PictureBox Then
         DirectCast(C, PictureBox).Image = LedPictureOff
      End If
Next
end sub

Chez moi ça marche bien...

Dim myimage As Image
'modifie selon tes besoins
myimage = My.Resources.Image1
For Each C As Control In Me.Controls
If TypeOf (C) Is PictureBox Then
DirectCast(C, PictureBox).Image = myimage
End If
Next


CF2i - Guadeloupe
Ingénierie Informatique
Messages postés
130
Date d'inscription
jeudi 22 décembre 2005
Statut
Membre
Dernière intervention
23 novembre 2011

c'est ce que je viens d'essayer...en plus j'ai rajouter une ligne qui me permet de voir la liste des control que la boucle vérifier et il n'y a aucun Picturebox...



        For Each picture In Me.Controls
            lstAddress.Items.Add(picture.GetType)
            If TypeOf (picture) Is PictureBox Then
                DirectCast(picture, PictureBox).Image = LedPictureOff
            End If
        Next
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
50
aussi autre chose
où sont placés tes pictureboxes ?
sur la form ou dans un control container
comme panel picturebox
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
237
Nonjour,
Juste deux question :
- les parenthèses mises ici pour utiliser TypeOf sont de mise sous VB.Net ?
- Y-a-t-il des PictureBoxes sur le Form, au moins ?

____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne intallée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient

Rajoute un picturebox pour tester... il doit forcément y figurer


CF2i - Guadeloupe
Ingénierie Informatique
Messages postés
130
Date d'inscription
jeudi 22 décembre 2005
Statut
Membre
Dernière intervention
23 novembre 2011

ok c'étais bien ca...mon cerveau n'est pas encore assez allumé...

ca fonctionne bien merci à tous!!

De rien et bienvenue au club des cerveaux pas allumés...



CF2i - Guadeloupe
Ingénierie Informatique
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
50
pourquoi as tu défini LedPictureOff comme public ?

Public LedPictureOff As System.Drawing.Bitmap