Как автоматически прокрутить элемент управления WinForms ListView при обновлении нового элемента? - PullRequest
29 голосов
/ 06 января 2010

Как автоматически прокрутить элемент управления ListView при обновлении нового элемента?

Я пытался

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

но это не работает.

Ответы [ 4 ]

71 голосов
/ 06 января 2010

Попробуйте

listView1.Items[listView1.Items.Count - 1].EnsureVisible();
0 голосов
/ 11 марта 2017

где x - это целое, элемента в списке, который вы хотите видеть

listView1.Items[x].Focus();
listView1.Items[x].Selected = true;
listView1.EnsureVisible(x);
0 голосов
/ 09 сентября 2014

Ответ Codesleuth на вызов EnsureVisible () для последнего элемента в списке работал только для меня, когда вызывался во время события ForShown () с формами.

Я попытался сделать это в конструкторе, где я заполнял свой ListView, но ничего не произошло. Однако выполнение этого во время OnShown () сработало.

Надеюсь, это поможет.

0 голосов
/ 06 января 2010

возможно

listView1.Items[listView1.Items.Count - 1].Selected = false;
listView1.Items[listView1.Items.Count - 1].Selected = true;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...