IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VC++ .NET Discussion :

[.NET/C++] delete d'une PictureBox


Sujet :

VC++ .NET

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 110
    Par défaut [.NET/C++] delete d'une PictureBox
    Bonjour,

    J'ai fait un programme qui va écrire plein de picturebox noires pour représenter des "pionts"
    (Windows form application // Visual 2005)
    En gros j'ai cela:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    System::Windows::Forms::PictureBox ^ cache;
    cache = (gcnew System::Windows::Forms::PictureBox());
    cache->BackColor = System::Drawing::Color::Black;
    cache->Location = System::Drawing::Point(x, y);
    cache->Name = L"cache";
    cache->Size = System::Drawing::Size(13, 13);
    this->panel5->Controls->Add(cache);
    Dans une boucle for avec des X et des Y différents.
    Pour les supprimer actuellement je fais un

    this->panel5->Controls->Clear();
    Tout ça c'est bien beau, mais j'ai l'impression que plus on fait tourner l'appli, plus elle rame.
    Je me suis dis que c'était bien beau de faire plein de gcnew mais qu'il fallait un jour penser à faire des delete!

    Mais voilà, j'ai aucune idée de comment on peut faire ça!
    Toutes mes picturebox ont le même noms...
    Une idée?

    Merci!

  2. #2
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    tu peux parcourir tous tes elements avant de faire un clear et faire un delete dessus

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 110
    Par défaut
    Woot

    Merci pour ta réponse
    (J'ai lu presque tous tes tuto, merci beaucoup pour l'aide qu'ils m'ont fournis! pour celui sur les winform, dommage que les liens vers MSDN soient tous cassés)

    Mon soucis est que pour faire un delete il faut des arguments, comme mes PictureBox ont toutes le même nom, comment être sûr qu'il les delete toutes?

  4. #4
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    Citation Envoyé par Skarsnick Voir le message
    Woot

    Merci pour ta réponse
    (J'ai lu presque tous tes tuto, merci beaucoup pour l'aide qu'ils m'ont fournis! pour celui sur les winform, dommage que les liens vers MSDN soient tous cassés)
    Ah ba mince, je vais regarder ca ...
    Citation Envoyé par Skarsnick Voir le message

    Mon soucis est que pour faire un delete il faut des arguments, comme mes PictureBox ont toutes le même nom, comment être sûr qu'il les delete toutes?
    essaie de faire un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     for each(Control ^c in panel5->Controls)
     {
    	 if (is<PictureBox ^>(c))
    	 {
    		 delete c;
    	 }
     }
    avec la méthode template:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    template < class T, class U > 
    Boolean is(U u) 
    {
       return dynamic_cast< T >(u) != nullptr;
    }

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 110
    Par défaut
    Ca compile :p C'est déjà un bon point,
    Je vais regardé si en faisant tourner mon appli un bon moment j'ai toujours des ralentissements,
    Merci beaucoup

    (pour info le tuto dont je parlais est celui-ci: http://nico-pyright.developpez.com/t...2005/winforms/ Merci encore pour tes tutaux, ils sont tout simplement géniaux!)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 10/06/2011, 15h24
  2. [VB.NET]Charger une "image vide" dans une picturebox
    Par mustang-f27 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 11/11/2006, 14h20
  3. [VB.NET]Lancement auto d'une appli
    Par smyley dans le forum Windows Forms
    Réponses: 14
    Dernier message: 25/04/2006, 08h50
  4. [VB.NET] Probleme de création d'une picturebox dans le code
    Par stringman62 dans le forum Windows Forms
    Réponses: 5
    Dernier message: 07/02/2006, 16h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo