Laden...

In einer gefüllten ListView bis nach ganz unten scrollen

Erstellt von Fiech vor 5 Jahren Letzter Beitrag vor 5 Jahren 1.464 Views
F
Fiech Themenstarter:in
45 Beiträge seit 2009
vor 5 Jahren
In einer gefüllten ListView bis nach ganz unten scrollen

Hallo Community

Ich stehe vor einem kleinen Problem bei dem ich nicht weiterkomme, ich hoffe mir kann hier jemand auf die Sprünge helfen - Danke!

Ich habe eine ListView die mit Daten gefüllt wird beim Laden einer Form und ich möchte das diese bis zum letzten Item nach unten Scrollt. Ich habe es versucht mit:

ListViewShowData.EnsureVisible(ListViewShowData.Items.Count - 1);

und

ListViewShowData.Items[ListViewShowData.Items.Count - 1].EnsureVisible();

jedoch bleibt die List View ganz oben.
Ich habe es versucht sowohl vor dem EndUpdate() als auch danach aufzurufen hatte beides keien Effekt. Ich habe online auch etwas gelesen von einer Methode "ScrollIntoView" die dürfte aber nur bei WPF controls vorhanden sein.

Kann mir jemand von euch bitte weiterhelfen?

4.939 Beiträge seit 2008
vor 5 Jahren

In welchem Ereignis rufst du diese Methode auf? Die ListView muß sichtbar sein, sonst hat EnsureVisible keinen Effekt (also frühestens im Shown-Ereignis).

Außerdem muß laut [RESOLVED] Problem with Listview EnsureVisible auch vorher das Item auf Selected gesetzt werden.

Du kannst aber alternativ auch die Eigenschaft TopItem setzen.

F
Fiech Themenstarter:in
45 Beiträge seit 2009
vor 5 Jahren

Danke für die Info, das hat mir gefehlt ich hab die Befehle immer ausgeführt bevor die ListView sichtbar war.
Ich hab einfach die Befehle im Shown Event der Form ausgeführt:

private void FormDatenShowBasic_Shown(object sender, EventArgs e)
        {
            ListViewShowData.Items[ListViewShowData.Items.Count - 1].Selected = true;
            ListViewShowData.EnsureVisible(ListViewShowData.Items.Count - 1);
        }