Comment faire défiler automatiquement dans le contrôle WinForms ListView lors de la mise à jour du nouvel élément?

Comment faire défiler automatiquement dans le contrôle ListView lors de la mise à jour d'un nouvel élément?

J'ai essayé

listView1.Focus();
listView1.Items[listView1.Items.Count - 1].Selected = true;

, Mais ça ne marche pas.

29
demandé sur Dutts 2010-01-06 19:09:20

4 réponses

Essayez

listView1.Items[listView1.Items.Count - 1].EnsureVisible();
67
répondu Codesleuth 2010-01-06 16:13:10

Où x est un int, de l'élément dans la liste que vous voulez voir

listView1.Items[x].Focus();
listView1.Items[x].Selected = true;
listView1.EnsureVisible(x);
0
répondu Kevin 2017-03-11 20:35:36

Peut-être

listView1.Items[listView1.Items.Count - 1].Selected = false;
listView1.Items[listView1.Items.Count - 1].Selected = true;
-2
répondu Catalin DICU 2010-01-06 16:13:27

La réponse de Codesleuth d'appeler EnsureVisible() sur le dernier élément de la liste ne fonctionnait que pour moi lorsqu'elle était appelée pendant l'événement forms OnShown ().

J'ai essayé de le faire dans le constructeur, où je remplissais mon ListView, mais rien ne s'est passé. Le faire pendant OnShown () a fonctionné un régal, cependant.

J'espère que cela aide.

-2
répondu Athena 2014-09-09 09:34:02