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 49
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 49
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
Rejoignez-nous