Видимые элементы списка в winforms listview? - PullRequest
1 голос
/ 09 января 2012

Как я могу получить видимые элементы из списка просмотра winforms? Кажется, нет простого пути, и я не хочу запрашивать элементы с помощью control.clientrectangle или других способов, подобных следующим:

/330554/kak-poluchit-nachalnyi-indeks-i-kolichestvo-vidimyh-elementov-v-listview)

Когда я говорю «видимый», я имею в виду элементы, видимые на экране.

Ответы [ 2 ]

1 голос
/ 09 февраля 2012

Вы можете выполнить итерацию с ListView.TopItem и проверить ListViewItem.Bounds свойство каждого элемента, находится ли он в клиентской области.

Better ListView Express - это бесплатный компонент, который также имеет свойство BottomItem , поэтому вы можете легко просматривать видимые элементы с помощью цикла для (если оба TopItem и BottomItem не null ):

for (int i = betterListView.TopItem.Index; i < betterListView.BottomItem.Index; i++)
{
  // your code here
}

Вы можете попробовать это - он имеет тот же интерфейс, что и ListView, и имеет много улучшений по сравнению с .NET ListView.

0 голосов
/ 09 января 2012

Если вы ищете функцию, которая дает вам только список видимых элементов, то такой вещи нет. Вы можете перейти к каждому элементу и проверить, виден ли он или нет. (Если я правильно понял ваш вопрос? Пожалуйста, дайте много четких объяснений)

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