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 :

DoubleBuffering : Comment activer ?


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    167
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 167
    Par défaut DoubleBuffering : Comment activer ?
    Je veux utiliser le DoubleBuffer pour booster mes perfs.
    J'ai donc introduit cette méthode :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     public void EnableDBuff()
                                                                {
                                                                  this.SetStyle(ControlStyles.DoubleBuffer |
                                                                       ControlStyles.UserPaint |
                                                                       ControlStyles.AllPaintingInWmPaint,
                                                                       true);
                                                                    this.UpdateStyles();
                                                                }
    que j'appelle dans on InitializeComponent() :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
      private void InitializeComponent()
            {
     
                this.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.OnKeyPressEvent);
              //  this.EnableDoubleBuffering();
                this.EnableDBuff();
            }
    et cet InitializeComponent, je l'appelle dans mon constructeur.

    Problème : ca fait bugger l'exécution de ma WinForm : le debug pointe ça dans mon Main :

    J'espère que mon explication est bonne. Merci pour votre aide.

  2. #2
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    167
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 167
    Par défaut
    up

  3. #3
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    salut

    perso, j'aime pas trop toucher à InitializeComponent() car c'est generer automatiquement et par habitude de microsoft, on ne touche pas aux éléments
    générer automatiquement

    Appelles plutot ta méthode apres l'appel à InitializeComponent() qui doit etre
    fait dans la constructeur de ta classe UserControl()....

    Pourquoi chercher compliqué quand on peut faire simple ?

    The Monz, Toulouse

  4. #4
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    167
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 167
    Par défaut
    Appelles plutot ta méthode apres l'appel à InitializeComponent() qui doit etre
    fait dans la constructeur de ta classe UserControl()....
    La classe UserControl() mais elle est où cette classe ?

  5. #5
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    c'est pas un UserControl que tu as ?

    Bon, sinon, InitializeComponent() est appelé depuis le constructeur (quand
    la classe est une form ou un UserControl).. c'est donc apres l'appel à InitializeComponent() que je fais mes modifications de style... C'est bcp
    plus propre et simple que d'aller directement trifouiller en interne dans
    InitializeComponent()... moins je touche au code généré, et mieux je me porte

    The Monz, Toulouse

  6. #6
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 19
    Par défaut
    Salut,
    as-tu essayé dans la fenêtre de propriétés de mettre la propriété Doublebuffered de ton form/usercontrol à true?

  7. #7
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 19
    Par défaut
    Citation Envoyé par sayag
    Je veux utiliser le DoubleBuffer pour booster mes perfs...
    regarde si tu arrives à booster tes perfs avec l'une ou l'autre ou les deux...

  8. #8
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    167
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 167
    Par défaut
    les 2 ensemble ca ralenti = triple buffering.

    Pour l instant j ai gardé le buffering manuel par facilité... je testerai peut etre plus tard ce que donne le double buffering.

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

Discussions similaires

  1. Réponses: 17
    Dernier message: 08/06/2005, 14h52
  2. [TP] Comment activer la souris dans l'éditeur ?
    Par hannon dans le forum Turbo Pascal
    Réponses: 2
    Dernier message: 27/03/2005, 00h29
  3. comment activer l'aide en ligne
    Par saibe dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 11/01/2005, 14h23
  4. Réponses: 9
    Dernier message: 15/09/2004, 21h35
  5. Réponses: 2
    Dernier message: 12/02/2004, 13h07

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