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

Windows Forms Discussion :

[C#] Gestion dynamique des panel


Sujet :

Windows Forms

  1. #1
    Membre du Club Avatar de toflofr
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    63
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2003
    Messages : 63
    Points : 53
    Points
    53
    Par défaut [C#] Gestion dynamique des panel
    Bonjour,

    Voila mon problème, je voudrai pouvoir créer une liste de panel dynamique dans une groupbox. Chaque nouveau panel affichera une image, l'ensemble des images sera la visualisation du GIF animé.

    J'ai créer une groupbox "groupBox_animation"
    et je sais créer un panel à l'intérieur.
    Je voudrai qu'à chaque click sur mon bouton, on ajoute un panel à ma liste.

    Voici mon code pour ajouter un panel:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Panel panelDynamic = new System.Windows.Forms.Panel();
    panelDynamic.Size = new System.Drawing.Size(128, 128);
    panelDynamic.BorderStyle = BorderStyle.FixedSingle;
    groupBox_animation.Controls.Add(panelDynamic);
    J'espere avoir été assé claire, merci d'avance pour vos propositions.

  2. #2
    Membre du Club Avatar de toflofr
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    63
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2003
    Messages : 63
    Points : 53
    Points
    53
    Par défaut
    Bon j'ai un debut de solution.

    J'ajoute mes panel dans une liste de control
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Control[] listeApercu =  new Control[10];
    Puis je configure mes panel comme je le souhaite
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Panel panelDynamic = new System.Windows.Forms.Panel();
    panelDynamic.BackgroundImage = panelGifAnime.BackgroundImage;
    panelDynamic.Size = new System.Drawing.Size(128, 128);
    panelDynamic.BorderStyle = BorderStyle.FixedSingle;
    Et enfin je les ajoutent à ma groupBox
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    groupBox_animation.Controls.Add(listeApercu[iterateurListeApercu ]);
    Donc maintenant mon soucis et que je voudrai pourvoir les selectionner afin de pouvoir les effacer si l'utilisateur le souhaite.

    J'ai eut l'idée d'utilisé un eventHandler
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    listeApercu[iterateurListeApercu].Click += new System.EventHandler(PanelDynalicClick);
    qui me permet de savoir quand on click sur un panel, mais dans la fonction "PanelDynalicClick" je ne peut pas identifier le panel en cause.

    Alors si vous aviez des idées, ou que vous avez déjà été confronté à ce problème, merci de me laisser une réponse.

  3. #3
    Rédacteur
    Avatar de dev01
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 451
    Points : 6 017
    Points
    6 017
    Par défaut
    Salut .

    Pourquoi n'utilises tu pas plutot une liste de panel directement ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Panel[] panels = new Panel[];
     
    private void Button1_Click(object sender, EventArg e)
    {
       panels[i] = new Panel();
       panels[i].Dock = DockStyle.Fill;
       ///
     
       if( i > 0 )
           group_panel.Controls.Remove(panels[i-1]);
       group_panel.Controls.Add(panels[i]);
    }
    c'est quand même plus simple non ?
    - MVP C#
    -Tout problème a une solution, le vrai problème est de trouver la solution .....
    - Linux & mono : l'avenir

  4. #4
    Membre du Club Avatar de toflofr
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    63
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2003
    Messages : 63
    Points : 53
    Points
    53
    Par défaut
    C'est vrai !

    Qu'en on part la tete dans le code on fait toujours n'importe quoi ^^

    Du coup l'argument "sender" c'est mon panel.

    Allez faut que j'aille prendre un café ca ira mieux.

    Merci Dev01.

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

Discussions similaires

  1. gestion dynamique des photos
    Par mkachekh dans le forum PL/SQL
    Réponses: 1
    Dernier message: 29/11/2010, 11h13
  2. gestion dynamique des composants
    Par tchpaz dans le forum Débuter
    Réponses: 1
    Dernier message: 19/10/2008, 22h19
  3. [CR XI] Graphique : gestion dynamique des couleurs ?
    Par kikidrome dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 17/06/2008, 12h45
  4. Gestion dynamique des colonnes dans un TVirtualTreeView
    Par engi dans le forum Composants VCL
    Réponses: 2
    Dernier message: 27/03/2008, 17h17
  5. Réponses: 3
    Dernier message: 24/02/2006, 14h27

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