Je souhaite doubler un contrôle personnalisé contenant des boutons. J'ai essayé plusieurs façons de doubler le contrôle du tampon; SetStyle, BufferedGraphicsContext et dessin à un bitmap. Tout cela fonctionne très bien pour le dessin personnalisé du contrôle, mais aucun d'entre eux ne gère le dessin du bouton sur un tampon arrière. Comment puis-je y parvenir?Contrôles enfants à double tampon dans un contrôle personnalisé (C#)
Répondre
Techniquement vous ne pouvez pas, et vous ne devriez pas vraiment besoin si elles sont des boutons standards .NET WinForms.
Les boutons eux-mêmes contrôlent la propriété DoubleBuffered protégée. La seule façon d'y accéder serait de dériver une nouvelle classe à partir de S.W.F.Button et d'implémenter du code pour activer la propriété DoubleBuffered sur les instances de cette classe (je ferais probablement cela dans le constructeur). Enfin, utilisez les objets de cette nouvelle classe sur votre formulaire au lieu de S.W.F.Buttons. Cependant, si je me souviens bien, les boutons sont purement dessinés à partir de WinAPI; ils ne sont pas GDI +. Par conséquent, vous ne devez pas besoin de pour double-tampon leur dessin. Cela dit, je ne connais pas votre scénario d'utilisation et je ne connais pas les symptômes que votre application affiche, donc je peux me tromper. :)
Vous pouvez consulter le livre Pro .NET 2.0 Windows Forms and Custom Controls in C#. Tout cela a été résumé à partir des informations contenues dans ce livre.
- 1. C# usercontrol comment accéder à tous les contrôles enfants
- 2. Recherche de contrôles dans un contrôle personnalisé ITemplated
- 3. Comment faire un double tampon dans Java2D?
- 4. C# CF, WinForms et double tampon
- 5. Comment empêcher un contrôle Web de charger des contrôles enfants?
- 6. Comment gérer l'état d'affichage des contrôles enfants placés sur un modèle pouvant être lié dans un contrôle personnalisé composite?
- 7. C# contrôle utilisateur comme un panneau personnalisé
- 8. Notifier récursivement les contrôles enfants via C#
- 9. Problèmes de redessiner une image sur un contrôle à double tampon sans scintillement
- 10. Double mise en mémoire tampon dans BlackBerry?
- 11. Comment modifier la taille des contrôles enfants dans un contrôle composite dans Winforms?
- 12. contrôle personnalisé dans Asp.net
- 13. Surligner simultanément deux contrôles enfants
- 14. Hébergement contrôle personnalisé dans DataGridView - C# WinForm
- 15. Le modèle correct pour transmettre des données aux contrôles enfants dans un contrôle serveur
- 16. Comment faire pour limiter la zone de contrôle client dans un contrôle WinForms personnalisé
- 17. C#: rotation du texte dans un contrôle personnalisé
- 18. Existe-t-il un moyen de placer des contrôles internes dans un contrôle personnalisé ASP.NET?
- 19. Contrôle des enfants dans Asp.net
- 20. Propriétés du contrôle serveur personnalisé Asp.Net 2
- 21. Comment écrire un contrôle personnalisé récursif dans WinForms .NET
- 22. Contrôle de l'assistant personnalisé
- 23. Plusieurs NSButtonCells encastrées dans un contrôle personnalisé
- 24. OnValidation d'un événement dans un contrôle personnalisé
- 25. Comment créer un contrôle ASP.NET utilisateur/serveur qui utilise une liste d'asp: ListItem comme contrôles enfants?
- 26. Erreur d'analyseur lors de la tentative d'envelopper les contrôles enfants
- 27. UserControl avec contrôles enfants passés dans un répéteur dans le UserControl
- 28. Propriétés de groupe dans un contrôle personnalisé
- 29. Comment peindre des zones transparentes pour les contrôles enfants?
- 30. Comment créer un contrôle gridview personnalisé?
Voir aussi: http://stackoverflow.com/questions/76993/how-to-double-buffer-net-controls-on-a-form. – ESRogs