Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1546 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [C# .Net 2.0] DoubleBuffering sur un Panel

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C# .Net 2.0] DoubleBuffering sur un Panel

n°1504772
Bef@
Pas de Bras, pas de Chocolat !
Posté le 18-01-2007 à 20:46:44  profilanswer
 

Bonjour,
 
Voici mon problème :
Avec GDI+, il est possible d'utiliser le double buffering sur un Form (System.Windows.Forms) de cette manière :
 

Code :
  1. // Constructeur de la fenêtre principale
  2.         public win_Main()
  3.         {
  4.             InitializeComponent();
  5.             // Code permettant d'utiliser le double buffering
  6.             SetStyle(ControlStyles.DoubleBuffer, true);
  7.             SetStyle(ControlStyles.UserPaint, true);
  8.             SetStyle(ControlStyles.AllPaintingInWmPaint, true);
  9.             ...
  10.         }


 
Cela permet d'éviter le scintillement lorsque l'on déplace des formes géométriques par exemple.
 
Voilà tout ça c'est bien beau mais dans mon cas, je dessine directement sur un Panel, et la classe Panel ne possède pas de méthode SetStyle qui permet d'activer le DoubleBuffering...
 
Donc je souhaitais savoir si vous conaissiez un moyen d'utiliser le DoubleBuffering sur un Panel (Autrement qu'en recréant un composant comme Panel hérité de Forms...)
 
Merci d'avance.

Message cité 1 fois
Message édité par Bef@ le 18-01-2007 à 20:47:15
mood
Publicité
Posté le 18-01-2007 à 20:46:44  profilanswer
 

n°1505514
Lamarmotte
Posté le 21-01-2007 à 11:52:25  profilanswer
 

pourquoi tu ne veux pas hériter de panel?

n°1505549
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 21-01-2007 à 14:34:54  profilanswer
 

Bef@ a écrit :


Voilà tout ça c'est bien beau mais dans mon cas, je dessine directement sur un Panel, et la classe Panel ne possède pas de méthode SetStyle qui permet d'activer le DoubleBuffering...


bien sur que si, Panel possède une méthode SetStyle (héritée de Control), c'est juste qu'elle est protected, donc inaccessible à partir d'une instance de la classe de base...

 
Bef@ a écrit :


Donc je souhaitais savoir si vous conaissiez un moyen d'utiliser le DoubleBuffering sur un Panel (Autrement qu'en recréant un composant comme Panel hérité de Forms...)


t'as juste qu'à faire dériver ta classe de Panel, ce qui te permettra d'utiliser SetStyle.
sinon tu peux aussi utiliser la réflection pour utiliser SetStyle. la première méthode est la plus propre, sauf que tu ne pourras pas utiliser le Designer de VS pour placer ton controle. tu devras tout faire "à la main"


Message édité par Harkonnen le 21-01-2007 à 14:51:46

---------------
J'ai un string dans l'array (Paris Hilton)
n°1505825
Bef@
Pas de Bras, pas de Chocolat !
Posté le 22-01-2007 à 11:39:00  profilanswer
 

Ok je vais essayer ça, merci beaucoup pour ton aide.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [C# .Net 2.0] DoubleBuffering sur un Panel

 

Sujets relatifs
[C# .NET 2.0] Un contrôle ajouté disparaît qd on reload la page[ASP.NET] Mélanger l'utilisation de ASPNETDB et une BDD classique
[C# .NET] Implementer une alarme pour agenda[C] Des accolades "just pour le fun" ?
Asp.Net Erreur 302 "Object Moved Here"[C# .NET 2.0] Interagir avec Winamp (VS 2005 express)
[ASP.NET] ASP.NET ou PHP ?[ASP.NET] chemin complet d'un fichier ( FileUpload )
[ASP.NET] chemin complet d'un fichier (FileUpload)[Résolu][C#] Générer un PDF avec des images Dynamiques (ASP.Net 1.1)
Plus de sujets relatifs à : [C# .Net 2.0] DoubleBuffering sur un Panel


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR