Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

help : indicer des picturebox

14 réponses
Avatar
Vincent
Bonjour,

Dans une fenetre j'ai 20 picturebox ( picturebox1 à picturebox20)

comment dans une boucle indicer les picturebox ?

du genre :

for(int i=1;i<21;i++)
{

Image = "img" + i.tostring() + ".gif"

pictureBox[i] = mon image

}

Merci

Vincent

10 réponses

1 2
Avatar
Gilles TOURREAU
Le Fri, 13 Jul 2007 22:52:01 +0200, Vincent
a écrit:

Bonjour,

Dans une fenetre j'ai 20 picturebox ( picturebox1 à picturebox20)

comment dans une boucle indicer les picturebox ?

du genre :

for(int i=1;i<21;i++)
{

Image = "img" + i.tostring() + ".gif"

pictureBox[i] = mon image

}

Merci

Vincent





Le plus propre c'est de créer un tableau :

PictureBox[] tab;

tab = new PictureBox[20];


Si tes pictures box sont crées via le Designer tu dois les affecter à la
main :
tab[0] = picturebox1;
tab[1] = picturebox2;
...etc

Si maintenant tu les crées de façon dynamique :
for(int i=0; i<20; i++)
{
tab[i] = new PictureBox();
tab[i].Location = ...
tab[i].Size = ...
...
}


Maintenant tu peux boucler sur ce tableau sans problème.

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr
Avatar
Vincent
Merci,
Je cherche une technique pour jouer avec les indices car j'ai construit ma
fenetre avec visual studio.

pour le moment j'ai une ligne pour chaque picturebox, mais quand il y en
aura 150 ..... à chaque traitement se sera la galère :)



Vincent

"Gilles TOURREAU" a écrit dans le message de news:

Le Fri, 13 Jul 2007 22:52:01 +0200, Vincent
a écrit:

Bonjour,

Dans une fenetre j'ai 20 picturebox ( picturebox1 à picturebox20)

comment dans une boucle indicer les picturebox ?

du genre :

for(int i=1;i<21;i++)
{

Image = "img" + i.tostring() + ".gif"

pictureBox[i] = mon image

}

Merci

Vincent





Le plus propre c'est de créer un tableau :

PictureBox[] tab;

tab = new PictureBox[20];


Si tes pictures box sont crées via le Designer tu dois les affecter à la
main :
tab[0] = picturebox1;
tab[1] = picturebox2;
...etc

Si maintenant tu les crées de façon dynamique :
for(int i=0; i<20; i++)
{
tab[i] = new PictureBox();
tab[i].Location = ...
tab[i].Size = ...
...
}


Maintenant tu peux boucler sur ce tableau sans problème.

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr


Avatar
Fred
Dans : news:,
Vincent disait :
Merci,
Je cherche une technique pour jouer avec les indices car j'ai
construit ma fenetre avec visual studio.



Dans ce cas utilise la collection Controls.
parent.Controls("picturebox" + i.ToString()).Image = ...

(parent est le contrôle qui contient les pictureBox)

--
Fred
http://www.cerber mail.com/?3kA6ftaCvT (enlever l'espace)
Avatar
Vincent
Merci pour ta réponse,

Par parent tu veux dire du stryle MainForm.Controls ?
Ca ne marche pas, Control n'existe pas avec MainForm.
j'ai essayé this.Control( .... mais can em arche pas non plus
Je dois mal définir le "parent" ?

merci

Vincent


"Fred" a écrit dans le message de news:

Dans : news:,
Vincent disait :
Merci,
Je cherche une technique pour jouer avec les indices car j'ai
construit ma fenetre avec visual studio.



Dans ce cas utilise la collection Controls.
parent.Controls("picturebox" + i.ToString()).Image = ...

(parent est le contrôle qui contient les pictureBox)

--
Fred
http://www.cerber mail.com/?3kA6ftaCvT (enlever l'espace)


Avatar
Fred
Dans : news:,
Vincent disait :
Merci pour ta réponse,

Par parent tu veux dire du stryle MainForm.Controls ?



Oui,

Ca ne marche pas, Control n'existe pas avec MainForm.



Et Controls (avec un s) ?


--
Fred
http://www.cerber mail.com/?3kA6ftaCvT (enlever l'espace)
Avatar
Vincent
c'est une coquille du post, j'ai bien mi Controls

"Fred" a écrit dans le message de news:

Dans : news:,
Vincent disait :
Merci pour ta réponse,

Par parent tu veux dire du stryle MainForm.Controls ?



Oui,

Ca ne marche pas, Control n'existe pas avec MainForm.



Et Controls (avec un s) ?


--
Fred
http://www.cerber mail.com/?3kA6ftaCvT (enlever l'espace)


Avatar
Gilles TOURREAU
Le Sat, 14 Jul 2007 13:57:43 +0200, Vincent
a écrit:

c'est une coquille du post, j'ai bien mi Controls

"Fred" a écrit dans le message de news:

Dans : news:,
Vincent disait :
Merci pour ta réponse,

Par parent tu veux dire du stryle MainForm.Controls ?



Oui,

Ca ne marche pas, Control n'existe pas avec MainForm.



Et Controls (avec un s) ?


--
Fred
http://www.cerber mail.com/?3kA6ftaCvT (enlever l'espace)







De quel type est ton MainForm ?

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr
Avatar
Vincent
public partial class MainForm : Form


public MainForm()

Voila le code de création de la fenêtre.



Si Je fais Main.Controls ... ca n marche pas, car il n'y a pas de "Controls"
à ce niveau

Donc :

Main.Controls("picturebox" + i.ToString()).Image = ne fonctionne pas.



Une idée ?



Merci

Vincent





"Gilles TOURREAU" a écrit dans le message de news:

Le Sat, 14 Jul 2007 13:57:43 +0200, Vincent
a écrit:

c'est une coquille du post, j'ai bien mi Controls

"Fred" a écrit dans le message de news:

Dans : news:,
Vincent disait :
Merci pour ta réponse,

Par parent tu veux dire du stryle MainForm.Controls ?



Oui,

Ca ne marche pas, Control n'existe pas avec MainForm.



Et Controls (avec un s) ?


--
Fred
http://www.cerber mail.com/?3kA6ftaCvT (enlever l'espace)







De quel type est ton MainForm ?

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr


Avatar
Vincent
avec :
int i = 1;

this.Controls("pictureBox" + i.ToString()).Image = myimage;

j'ai le message :

'System.Windows.Forms.Control.Controls' est un 'propriété' mais est utilisé
comme un 'méthode' (CS0118)

vincent


"Vincent" a écrit dans le message de news:


public partial class MainForm : Form


public MainForm()

Voila le code de création de la fenêtre.



Si Je fais Main.Controls ... ca n marche pas, car il n'y a pas de
"Controls" à ce niveau

Donc :

Main.Controls("picturebox" + i.ToString()).Image = ne fonctionne pas.



Une idée ?



Merci

Vincent





"Gilles TOURREAU" a écrit dans le message de
news:
Le Sat, 14 Jul 2007 13:57:43 +0200, Vincent
a écrit:

c'est une coquille du post, j'ai bien mi Controls

"Fred" a écrit dans le message de news:

Dans : news:,
Vincent disait :
Merci pour ta réponse,

Par parent tu veux dire du stryle MainForm.Controls ?



Oui,

Ca ne marche pas, Control n'existe pas avec MainForm.



Et Controls (avec un s) ?


--
Fred
http://www.cerber mail.com/?3kA6ftaCvT (enlever l'espace)







De quel type est ton MainForm ?

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr






Avatar
Gilles TOURREAU
Le Sun, 15 Jul 2007 10:37:30 +0200, Vincent
a écrit:

avec :
int i = 1;

this.Controls("pictureBox" + i.ToString()).Image = myimage;

j'ai le message :

'System.Windows.Forms.Control.Controls' est un 'propriété' mais est
utilisé
comme un 'méthode' (CS0118)

vincent




this.Controls["pictureBox" + i.ToString()].Image = myimage;

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr
1 2