Je suis en train de concevoir un contrôle Windows forms pour l'édition syntaxique. Je sais qu'il en existe déjà beaucoup, comme par exemple Scintilla , FastColoredTextBox , Actipro Syntaxe Edito r, Avalon Edit etc. J'ai des raisons de concevoir le mien, donc ce n'est pas le problème.
Jusqu'à présent, j'ai conçu l'aspect et la convivialité du contrôle. Il devra être capable de contrôler verticalement et horizontalement.
Les options que j'ai trouvées sont les suivantes :
- Mon contrôle étend ScrollableControl o ContainerControl
- Mon contrôle instancie un HScrollBar y VScrollBar contrôle et les place en conséquence
- Mon contrôle utilise ScrollBarRenderer pour dessiner les barres de défilement de manière personnalisée
Je ne suis pas sûr de savoir laquelle de ces options serait la meilleure pratique pour mon contrôle.
J'ai essayé d'utiliser ScrollableControl y ContainerControl mais cela a donné des résultats très indésirables, probablement parce que les contrôles ont été effectués par le personnel de l'entreprise. DisplayRectangle
défilait... Je ne veux pas de ça. Je veux faire défiler un rectangle personnalisé qui contient le texte.
J'ai essayé d'instancier HScrollBar et VScrollBar, mais cela semblait très bogué, et ne fonctionnait pas bien avec le focus et je n'arrivais pas à trouver comment capturer correctement les événements VScroll et HScroll.
J'ai essayé d'utiliser ScrollBarRenderer mais cela semble représenter beaucoup d'efforts simplement pour mettre en œuvre une barre de défilement. De plus, avec cette approche, je devrais toujours capturer et traiter les événements de manière appropriée.
Alors, laquelle de ces approches devrais-je utiliser, ou bien une approche que j'ai peut-être négligée ?