J'ai hérité ScrollableControl et je veux dessiner des éléments (comme l'en-tête) qui ne défilent pas pendant le défilement.comment dessiner des éléments non-scrollables sur ScrollableControl
Y a-t-il une solution?
J'ai hérité ScrollableControl et je veux dessiner des éléments (comme l'en-tête) qui ne défilent pas pendant le défilement.comment dessiner des éléments non-scrollables sur ScrollableControl
Y a-t-il une solution?
Il semble qu'il n'y ait aucun moyen de le faire. Lorsque le contrôle défile vers le haut par exemple, tout le contenu défile (copié) par l'appel de l'API ScrollWindow et la partie restante du contrôle est invalidée.
Tous les autres hacks comme la gestion des événements de défilement et le dessin sur la surface de contrôle ne conviennent pas.
vous devez calculer avec la propriété AutoscrollOffset dans votre layoutlogic.
J'ai eu le même problème. J'ai essayé de surcharger l'événement OnScroll pour invalider une "barre supérieure fixe", mais les résultats sont irréguliers et insatisfaisants. En fin de compte, j'ai opté pour un contrôle des enfants de panneau sur le dessus de la région défilante.
Je n'ai aucun contrôle enfant. Je dessine juste sur la surface de contrôle. Et si je défile vers le bas, il redessine seulement la nouvelle zone dans le bas, même si je fais e.Graphics.SetClip à mon en-tête. –