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#] problème scintillement lors du changement de panel


Sujet :

Windows Forms

  1. #1
    Membre régulier Avatar de chasse
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2006
    Messages : 78
    Points : 78
    Points
    78
    Par défaut [C#] problème scintillement lors du changement de panel
    Bonjour,

    J'ai une Form qui contient 2 sortes de panels.
    le premier panel est mon menu qui reste tout le long de l'application.
    le deuxième panel contient mes écrans.
    Lorsque j'appuie sur un bouton du menu, je veux afficher un écran différent.
    le changement d'un panel à un autre provoque un effet de scintillement.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     private void btnRecherche_Click(object sender, EventArgs e)
            {
                this.Controls.Remove(this.panelCreation);
                this.Controls.Add(this.panelRecherche);
            }
    j'ai aussi essayé comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     private void btnRecherche_Click(object sender, EventArgs e)
            {
                this.Controls.Clear();
                this.Controls.Add(this.menu);
                this.Controls.Add(this.panelRecherche);
            }
    mais les deux solutions affiche ce scintillement.
    merci pour votre aide.

  2. #2
    Membre chevronné
    Avatar de Piotrek
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 869
    Points : 1 904
    Points
    1 904
    Par défaut
    Salut

    Je pense que le scintillement est du a la reconstruction du contenu du panel (ou au repositionnement des controles entourant le panel). Si par exemple il y a des controles dockes ou anchores, le calcul des positions des controles contenus dans le panel se refait a chaque nouvel ajout de controle.

    Pour eviter ces calculs de reposition:
    .SuspendLayout juste apres la creation du panel
    .ResumeLayout juste apres le remplissage du panel et juste avant son affichage

    Ces deux methodes existent pour les autres controles conteneurs

  3. #3
    Membre régulier Avatar de chasse
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2006
    Messages : 78
    Points : 78
    Points
    78
    Par défaut
    voilà j'ai donc essayé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
                this.SuspendLayout();
                this.menu.SuspendLayout();
                this.panelCreation.SuspendLayout();
                this.panelRecherche.SuspendLayout();
                this.Controls.Clear();
                this.Controls.Add(this.menu);
                this.Controls.Add(this.panelCreation);
    mais le meme problème subsiste...

  4. #4
    Membre régulier Avatar de chasse
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2006
    Messages : 78
    Points : 78
    Points
    78
    Par défaut
    avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    this.SetStyle( ControlStyles.UserPaint | ControlStyles.AllPaintingInWmPaint | ControlStyles.DoubleBuffer, true );
    le problème semble arrangé.

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

Discussions similaires

  1. Problème d'affichage lors du changement de panel
    Par momop72 dans le forum Agents de placement/Fenêtres
    Réponses: 1
    Dernier message: 11/12/2013, 10h43
  2. problème dans lors de changement de caractère
    Par lequebecois79 dans le forum Langage
    Réponses: 3
    Dernier message: 10/07/2011, 18h33
  3. [HTML] Problème lors du changement des chemins
    Par ramzi24 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 11
    Dernier message: 14/12/2006, 19h37
  4. Problème lors du changement de résolution d'écran
    Par yangoal25 dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 10/11/2006, 15h33
  5. Problème du module login lors du changement de mot de passe
    Par MIC94 dans le forum Wildfly/JBoss
    Réponses: 1
    Dernier message: 31/08/2006, 11h51

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