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# visibilité panel bloquée


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2006
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 102
    Par défaut C# visibilité panel bloquée
    Bonjour à tous,
    il s'agit d'un problème déjà rencontré sur le forum http://www.developpez.net/forums/sho...d.php?t=353712
    mais je ne m'en suis pas tiré...

    Je dispose d'une combobox qui suivant sa sélection, affiche ou masque des panels (qui sont supperposés).
    Cette opération se passe sans problème lors de la première execution, mais ne s'effectue pas correctement lors des suivantes (les propriétés des panels se "bloquent" à false!)

    J'ai essayé de redéfinir tous les panels parents pour éviter ce genre de défaut, d'utiliser les méthodes Show() et Hide() mais sans succès...

    Si quelqu'un a une idée?

    Merci beaucoup

  2. #2
    Rédacteur/Modérateur
    Avatar de Skalp
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 694
    Par défaut
    Es-tu sûr que ces panels (superposés) ne sont pas en fait imbriqués ? Vérifie dans le .Designer.cs de ton fichier tous les :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.panel1.Controls.Add(this.panel2)

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2006
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 102
    Par défaut
    tous mes panels semblent correctement superposés :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    this.splitContainer1.Panel1.Controls.Add(this.panela);
                this.splitContainer1.Panel1.Controls.Add(this.panelb);
                this.splitContainer1.Panel1.Controls.Add(this.panelc);
                this.splitContainer1.Panel1.Controls.Add(this.paneld);
    et meme lorsque je veux mettre le splitContainer1.visible à true, ça me le bloque à false. (j'ai aussi regardé sa hierarchie supérieure)


  4. #4
    Rédacteur/Modérateur
    Avatar de Skalp
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 694
    Par défaut
    Ce que tu nous montres indique seulement que ton splitcontainer contient tes 4 panel a, b, c et d.
    Tu as peut-être à un autre endroit quelque chose comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.panela.Controls.add(this.panelb)
    Si tu n'as pas d'autres Controls.Add(), alors tes panels a, b, c et d ne sont pas imbriqués. A ce moment-là, sans plus de détails, je ne vois pas ce qui n'irait pas.

  5. #5
    Membre confirmé
    Inscrit en
    Juin 2006
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 102
    Par défaut
    Je viens de constater que je peux gerer ces mécanismes de visibilité dés lors que je ne "travaille" pas dessus.
    -> d'un bouton de test, une fois l'affichage terminé, je modifie l'affichage (ce qu'il fait correctment) alors que lorsque je suis en train de dessiner le contrôle où se trouvent mes panels, je ne peux pas modifier leurs propriétés... Dois-je attendre qu'il se dessine entièrement avant de modifer la visibilité de mes panels?

  6. #6
    Rédacteur/Modérateur
    Avatar de Skalp
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 694
    Par défaut
    Citation Envoyé par maxdwarf Voir le message
    Dois-je attendre qu'il se dessine entièrement avant de modifer la visibilité de mes panels?
    Tu veux passer la charrue avant les boeufs

  7. #7
    Membre confirmé
    Inscrit en
    Juin 2006
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 102
    Par défaut
    je voudrais savoir pourquoi ça fonctionne la première fois ,alors que le contrôle n'est pas plus dessiné, que les autres fois?

    Existe-t-il un moyen de savoir si le contôle est fini de redessiner ? )

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

Discussions similaires

  1. Je suis bloqué dans un exercice. GridBagLayout et gbConstraints, panels.
    Par CosaNostra dans le forum Agents de placement/Fenêtres
    Réponses: 7
    Dernier message: 17/02/2010, 09h23
  2. Problème de visibilité avec un panel
    Par Sh0ck dans le forum Composants VCL
    Réponses: 7
    Dernier message: 20/01/2009, 09h42
  3. Visibilité d'un Panel
    Par Crokan dans le forum Windows Forms
    Réponses: 2
    Dernier message: 21/04/2008, 22h17
  4. Visibilité de Panel par Javascript
    Par Alabama-song dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 27/07/2007, 18h19
  5. Réponses: 3
    Dernier message: 24/11/2005, 09h44

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