Rafraichir/supprimer un pictureBox dynamiquement [Résolu]

hannnouna 10 Messages postés samedi 19 mars 2011Date d'inscription 7 septembre 2011 Dernière intervention - 7 sept. 2011 à 01:06 - Dernière réponse : quicklight 15 Messages postés jeudi 20 novembre 2008Date d'inscription 1 septembre 2013 Dernière intervention
- 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 !!
Afficher la suite 

7 réponses

Répondre au sujet
krimog 1863 Messages postés lundi 28 novembre 2005Date d'inscription 14 février 2015 Dernière intervention - 7 sept. 2011 à 10:09
+3
Utile
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é. -
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de krimog
hannnouna 10 Messages postés samedi 19 mars 2011Date d'inscription 7 septembre 2011 Dernière intervention - 7 sept. 2011 à 15:02
0
Utile
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.???
Commenter la réponse de hannnouna
krimog 1863 Messages postés lundi 28 novembre 2005Date d'inscription 14 février 2015 Dernière intervention - 7 sept. 2011 à 15:30
0
Utile
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é. -
Commenter la réponse de krimog
hannnouna 10 Messages postés samedi 19 mars 2011Date d'inscription 7 septembre 2011 Dernière intervention - 7 sept. 2011 à 15:39
0
Utile
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
Commenter la réponse de hannnouna
quicklight 15 Messages postés jeudi 20 novembre 2008Date d'inscription 1 septembre 2013 Dernière intervention - 7 sept. 2011 à 16:38
0
Utile
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]
Commenter la réponse de quicklight
hannnouna 10 Messages postés samedi 19 mars 2011Date d'inscription 7 septembre 2011 Dernière intervention - 7 sept. 2011 à 19:14
0
Utile
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 !!!
Commenter la réponse de hannnouna
quicklight 15 Messages postés jeudi 20 novembre 2008Date d'inscription 1 septembre 2013 Dernière intervention - 8 sept. 2011 à 11:29
0
Utile
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..
Commenter la réponse de quicklight

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.