Bonjour à tous,
J'ai une app avec différents écrans gérés via TabControl.
Dans un tab, j'ai un scrollbox que je veux obliger à afficher un objet situé hors de la zone d'affichage une seule fois quand le tab est affiché.
La fonction scrollbox.ScrollBy me permet de décaler la zone d'affichage du scrollBox mais cela ne fonctionne que si le scrollbox est affiché avant d'appeler la fonction scrollBy (j'ai mon scrollbox affiché à l'écran qui est aligné en haut à gauche. Je clique sur un bouton qui appelle scrollBy et mon scrollbox déplace sa zone d'affichage pour montrer mon objet).
Mon problème? Je veux que le scrollBy soit appelé automatiquement. Si j'appelle scrollBy avant l'affichage du tab ou juste après la ligne de code qui affiche le tab, scrollbox ne fonctionne pas (le scrollbox reste aligné en haut à gauche).
J'ai essayé d'appeler le scrollby sur l'event TabControl.OnChange si le tab actif est celui qui accueille le scrollbox. Selon la doc, OnChange se produit immédiatement après la modification de l'onglet actif, scrollby est lancé mais ne fonctionne pas, le scrollbox reste aligné en haut à gauche.
Est-ce que quelqu'un a une idée brillante? Peut-être sur un onPaint avec un système de flanc montant pour que scrollbox ne soit appelé qu'une fois?
Partager