Utilisation de 'System.Windows.Forms.Control' [Résolu]

Signaler
Messages postés
269
Date d'inscription
dimanche 31 mai 2009
Statut
Membre
Dernière intervention
12 mars 2011
-
Messages postés
269
Date d'inscription
dimanche 31 mai 2009
Statut
Membre
Dernière intervention
12 mars 2011
-
Bonjour,
je suis en train de faire un programme qui
utilise tout un tableau de picturebox, nommées :
PictureboxX1Y1
PictureboxX1Y2, avec X ou Y utilisées comme coordonnées...
J'ai vu il y a quelques temps que on ponvait utiliser
Me.Control( pour accéder aux contrôles dynamiquement mais
je n'arrive pas à utiliser l'instruction Load avec picturebox
déterminée par son nom et X et Y,
par exemple si je met dans une boucle :

For X = 1 To 18
For Y = 1 To 4

Dim returnValue As Color = Controls("PictureBoxy" & Y & "x" & X).BackColor ''Prend la couleur de la case 1 dans reurnvalue


next:next

Ca marche mais si je met dans ma boucle :

Controls("PictureBoxy" & Y & "x" & X).Load("Fichierimage.bmp")

''Ca ne marche pas et j'ai une erreur :

'Load' n'est pas un membre de 'System.Windows.Forms.Control'


Savez-vous si il y a un moyen d'utiliser .Load
avec un nom de controle contenu dans une variable ?

5 réponses

Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
33
Controls("nom") te renvoie le contrôle portant ce nom dans la collection Controls.
Ce contrôle, tu dois d'abords dire que c'est une picturebox pour pouvoir ensuite utiliser les méthodes des picturebox :

Version condensée :
DirectCast(Controls("PictureBoxy" & Y & "x" & X),PictureBox).Load("Fichierimage.bmp")

Version détaillée :
Dim pb as PictureBox = DirectCast(Controls("PictureBoxy" & Y & "x" & X),PictureBox)
pb.Load("Fichierimage.bmp")


[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i

ah oui j'aurai du ecrire :
... = Image.FromFile("blabla.bmp")
bonne soirée.

bonsoir,
il existe la propriété BackGroundImage mais je ne sais pas si cela correspond a ce que tu cherche.
Controls("PictureBoxy" & Y & "x" & X).BackGroundImage = "image.bmp"
Messages postés
269
Date d'inscription
dimanche 31 mai 2009
Statut
Membre
Dernière intervention
12 mars 2011

Merci casy ça marche bien là...
Quand j'aurais fini mon programme
j'y mettrai la source ici...
Sinon, banana32 , j'ai :
Une valeur de type 'String' ne peut pas être convertie en 'System.Drawing.Image'.
Mais merci quand même
a+
Messages postés
269
Date d'inscription
dimanche 31 mai 2009
Statut
Membre
Dernière intervention
12 mars 2011

Ah oui ça marche aussi,
merci à vous deux ;)