Winforms: Как я могу программно отобразить последний элемент в списке C # при наличии вертикальных полос прокрутки? - PullRequest
11 голосов
/ 05 марта 2009

Как программно отобразить последний элемент в списке C # при наличии вертикальных полос прокрутки? Я изучил каждый метод, связанный со списками, и ничего не могу найти.

Ответы [ 7 ]

11 голосов
/ 05 марта 2009

На самом деле не так просто / невозможно прокрутить представление списка. Вы должны сказать элемент, чтобы убедиться, что он виден.

var items = listView.Items;
var last = items[items.Count-1];
last.EnsureVisible();
6 голосов
/ 05 марта 2009
this.listView1.Items[this.listView1.Items.Count - 1].EnsureVisible();  
1 голос
/ 05 марта 2009

ListViewItem.EnsureVisible ()

1 голос
/ 05 марта 2009

WINFORMS:

Попытались ли вы установить для выбранного значения значение ИСТИНА в последнем элементе в коллекции элементов в ListView?

Я думаю, что при этом основное внимание будет уделено последнему элементу ... прокрутке вниз, если это необходимо. Но я не пробовал сам.

EDIT: Это поможет:

Me.ListView1.Items(Me.ListView1.Items.Count - 1).EnsureVisible()
0 голосов
/ 13 марта 2011

Следующий хак одновременно выберет и покажет последний элемент ListView.
Не уверен, почему это работает, но это работает.

listview.SelectedIndices.Clear();  
listview.FocusedItem = listview.Items[listview.Items.Count - 1];  
listview.FocusedItem.Selected = true;  
listview.BeginInvoke((MethodInvoker)delegate { 
    listview.FocusedItem.EnsureVisible(); 
});

Кроме того, если вы не хотите показывать горизонтальную полосу прокрутки, вам необходимо изменить размер столбцов ListView, чтобы они соответствовали ширине ClientArea ListView, прежде чем вызывать BeginInvoke.

0 голосов
/ 16 сентября 2009

Это ссылка на использование функции Windows для скрытия горизонтальной и принудительной вертикальной верстки, которая будет отображаться всегда:

http://social.msdn.microsoft.com/Forums/en-US/winforms/thread/4aa4dade-53a2-4e2e-a8b4-b4980da1f39c/

0 голосов
/ 05 марта 2009

WPF или WinForms?

В WPF вы получаете ListViewItem и звоните BringIntoView.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...