2010-05-21 28 views

Répondre

1

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.

0

vous devez calculer avec la propriété AutoscrollOffset dans votre layoutlogic.

+0

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. –

0

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.