Créer des Picturebox à l'infini [Résolu]

Messages postés
10
Date d'inscription
lundi 18 juin 2012
Statut
Membre
Dernière intervention
29 mars 2013
- - Dernière réponse : Smookii
Messages postés
10
Date d'inscription
lundi 18 juin 2012
Statut
Membre
Dernière intervention
29 mars 2013
- 19 juin 2012 à 12:05
Bonjour,

Alors voilà mon problème, je voudrais faire un petit jeu en winform style "space invaders" et je voudrais que mon petit vaiseau tir des picturebox sur mes ennemis j'utilise un timer pour délimiter le temps entre chaque tirs et je voudrais qu'à chaque passage dans le timer, le programme crée une nouvelle picture box avec un nom différent :
Tir0,
Tir1,
Tir2...
Et pour cela j'ai fais ce code :
[i] private void tmshoot_Tick(object sender, EventArgs e)
{
iCpt++;
PictureBox TiriCpt = new PictureBox();
}/i
Est il possible de faire en sorte que iCpt soit la variable qui définirait le nombre dans le nom de la pictureBox ?

Merci d'avance.
Afficher la suite 

4 réponses

Meilleure réponse
Messages postés
1471
Date d'inscription
mardi 5 février 2002
Statut
Membre
Dernière intervention
20 octobre 2014
10
3
Merci
Salut,

C'est tout a fait possible :


            TextBox tbTemp = new TextBox();
            //Affectation du nom
            tbTemp.Name = "test";
            tbTemp.Location = new System.Drawing.Point(10, 10);
            tbTemp.Size = new System.Drawing.Size(200, 22);
            tbTemp.Parent = this;
            //Appel par son nom
            Controls["test"].Text = "Yes you can";


BasicInstinct

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 120 internautes nous ont dit merci ce mois-ci

Commenter la réponse de BasicInstinct
Messages postés
13522
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
21 juillet 2019
289
0
Merci
Bonsoir,

pour autant que je sache non.

Par contre si tu veux savoir grâce à un index (iCpt) de quel PictureBox il s'agit, je pense qu'une List<T> fera l'affaire.

.....
List MaListe = new List();//initialise une liste au niveau de la classe
.....
private void tmshoot_Tick(object sender, EventArgs e) 
{ 
   iCpt++; 
   MaListe.Add = new PictureBox();// y ajoute un tir
} 


....
PictureBox Tir27 = MaList[27];//récupère l'instance 27




Whismeril
Commenter la réponse de Whismeril
Messages postés
13522
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
21 juillet 2019
289
0
Merci
De la façon dont la question est posée, je comprends que le nom de la variable doit être fonction du nombre de tir.
Pour le nom de la picturebox alors oui comme le montre basicinstinct par de problème.


Whismeril
Commenter la réponse de Whismeril
Messages postés
10
Date d'inscription
lundi 18 juin 2012
Statut
Membre
Dernière intervention
29 mars 2013
0
Merci
Merci a tous pour vos réponses .
Commenter la réponse de Smookii