Bonjour tout le monde,
Après avoir créé un enregistrement dans une table liée, je veux rafraîchir le formulaire principal, donc le FlowLayoutControl affiche ce qu'il a en haut.
Or l'enregistrement que je viens d'ajouter va apparaître en bas du FlowLayoutControl. Donc, ce serait mieux d'afficher le bas.
Et dans la mesure où je garde le formulaire de création d'enregistrement (modal) ouvert pour pouvoir créer plusieurs lignes d'affilée, ce serait bien que ça soit automatique. Ça permettra de savoir où on en est, pour éviter de saisir deux fois la même chose.
J'ai essayé ça (F1 étant le formulaire principal ; public sinon ça couinerait) :
Ça n'a pas l'air probant. Ça clignote un petit coup, et le haut de la liste est affiché.
Code : Sélectionner tout - Visualiser dans une fenêtre à part F1.flowLayoutPanel1.AutoScrollOffset = new Point(F1.flowLayoutPanel1.Controls.Count * F1.flowLayoutPanel1.Controls[0].Height);
Le raisonnement est que AutoScrollOffset permet de passer un point qui sera visible, défini par sa coordonnée verticale, et pour ça j'ai multiplié le nombre de contrôles par la hauteur du premier.
On dirait qu'il y a une faille dans le raisonnement (ou son application).
***
J'aurais bien essayé ScrollIntoView(), mais ça c'est du web je crois bien.
Partager