Rafraichir/supprimer un pictureBox dynamiquement

Résolu
hannnouna
Messages postés
10
Date d'inscription
samedi 19 mars 2011
Statut
Membre
Dernière intervention
7 septembre 2011
- 7 sept. 2011 à 01:06
quicklight
Messages postés
15
Date d'inscription
jeudi 20 novembre 2008
Statut
Membre
Dernière intervention
1 septembre 2013
- 8 sept. 2011 à 11:29
salut,
j'ai ajouter des picturebox de cette façon:
int w=0
imgPhoto = new PictureBox();
imgPhoto.BorderStyle = System.Windows.Forms.BorderStyle.None;
imgPhoto.Name = imgPhoto + w.ToString();
Image image = Image.FromFile("samac.jpg");
imgPhoto.Image = image;
imgPhoto.Height = image.Height;
imgPhoto.Width = image.Width;
imgPhoto.SizeMode = PictureBoxSizeMode.StretchImage;
int x,y;
........
......
imgPhoto.Location = new Point(x, y);
this.Controls.Add(imgPhoto);
w++;
Maintenant, j'ai deux boutons Modifier et supprimer. Mon probleme c'est que l'indice w je vais le recupere a partir d'une methode et a partir de cette indice je veux utiliser les methodes refresh() et hide(). la syntaxe suivante ne marche pas :
imgPhoto + indice.ToString().Location=new Point(newx, newy);
imgPhoto + indice.ToString().refresh();
comment je peux s'en sortir ???
Merci d'avance !!

7 réponses

krimog
Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Membre
Dernière intervention
14 février 2015
51
7 sept. 2011 à 10:09
Salut

Déjà,
imgPhoto.Name = imgPhoto + w.ToString();

Tu devrais remplacer ça par
imgPhoto.Name = "imgPhoto" + w.ToString();


La solution la plus simple est de rechercher le contrôle avec tel ou tel nom dans ton form :
this.Controls["imgPhoto" + indice.ToString()].Location = new Point(newx, newy);


Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé. -
3
hannnouna
Messages postés
10
Date d'inscription
samedi 19 mars 2011
Statut
Membre
Dernière intervention
7 septembre 2011

7 sept. 2011 à 15:02
merci pour la reponse mais juste un autre question, pourquoi apres l'ajout des picturebox. et lors du prochain execution je veux ces pictureBox soient visible:
splitContainer1.Panel2.Controls["imgPhoto" + indice.ToString()].Visible = true;
mais ça ne marche pas avec l'erreur :
La référence d'objet n'est pas définie à une instance d'un objet.???
0
krimog
Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Membre
Dernière intervention
14 février 2015
51
7 sept. 2011 à 15:30
Avec ton code, tu recherches tous le contrôle avec le nom en question dans le Panel2. Est-tu sûr que le contrôle se trouve dans ce panel ?

Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé. -
0
hannnouna
Messages postés
10
Date d'inscription
samedi 19 mars 2011
Statut
Membre
Dernière intervention
7 septembre 2011

7 sept. 2011 à 15:39
oui je suis sure sinon il ne s'affiche pas lors de l'ajout ou sera deplacé lors d'une modification de Location. mais mon probleme si je ferme et je reexecute l'erreur persiste
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
quicklight
Messages postés
15
Date d'inscription
jeudi 20 novembre 2008
Statut
Membre
Dernière intervention
1 septembre 2013

7 sept. 2011 à 16:38
Salut,

J'espère ne pas dire de bêtise, mais dans le code plus haut, il y avait la ligne
this.Controls.Add(imgPhoto);

A-tu bien pensé à changer en :
splitContainer1.Panel2.Controls.Add(imgPhoto);


L'erreur "La référence d'objet n'est pas définie à une instance d'un objet" signifie que l'objet cherché n'a pas été trouvé, c'est donc soit une faute dans la définition du nom de l'objet, soit dans son "emplacement".

[www.xp-lan.fr www.xp-lan.fr]
0
hannnouna
Messages postés
10
Date d'inscription
samedi 19 mars 2011
Statut
Membre
Dernière intervention
7 septembre 2011

7 sept. 2011 à 19:14
cette ligne je l'ai corrigé deja avant de poser ma deuxieme question. et c'est pour cela je me suis bloqué car l'objet cherché deja exsite !!!
0
quicklight
Messages postés
15
Date d'inscription
jeudi 20 novembre 2008
Statut
Membre
Dernière intervention
1 septembre 2013

8 sept. 2011 à 11:29
Pourrais-tu nous écrire une partie de ton code de maintenant s'il te plait ? Parce que là je vois pas trop d'où vient l'erreur si l'objet existe et est au bon endroit..
0