Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
iUser
450 / 30 / 1
Регистрация: 07.01.2014
Сообщений: 124
1

Переход к выделенному элементу listView

08.02.2014, 14:36. Просмотров 855. Ответов 2
Метки нет (Все метки)

На форме имеется элемент listView1. Размер элемента таков, что на экране отображается ~10 элементов списка. В коллекции ~100 элементов. Когда нужно выбрать, например, 50-й элемент, мы пролистываем до этого элемента (стрелками, скролом или полосой прокрутки).

Далее делаю.
C#
1
2
3
4
5
6
7
8
9
10
//Значение этой переменной заведомо не превышает количества элементов в listView1
int activeItem = 50;
//Очищаю список элементов
listView1.Items.Clear();
//Заливаю новый список элементов
for (int i=0; i<100; i++) listView1.Items.Add(i.ToString());
//Делаю область активной
listView1.Focus();
//Делаю нужный элемент выбранным
listView1.Items[activeItem].Selected = true;
И получаю.
В результате элемент выбирается, со всеми вытекающими последствиями. НО. Полоса прокрутки остается в начальном положении, то есть выбранный элемент визуально не наблюдается, пока полоса прокрутки не будет перемещена в соответствующее положение.

Вопрос.
Как сделать так, чтобы выделенный таким способом элемент попадал в видимую пользователем область listView1?
Или может быть его можно выделить другим способом и добиться желаемого результата (от переменной activeItem или ее аналога отказаться нельзя)?
Пока не знаю даже в каком направлении двигаться.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.02.2014, 14:36
Ответы с готовыми решениями:

Обработка двойного клика по элементу ListView
В общем есть ListView, и мне нужно при двойном клике по одному из его пунктов...

Переход к следующему элементу по нажатии Enter вместо Tab
Доброго времени суток. Существует форма с большим количеством текстбоксов и...

ListView переход на новую строку
В ListView используется представление Tile или LargeIcons. Если выбирать...

Как в ListView поймать клик по элементу?
Привет! Кто сталкивался с таким, подскажите. У меня на форме ListView с...

Программный переход в ListView
Как можно осуществить программный переход в ListView м\у его итемами если мне...

2
xoraxax
1441 / 1339 / 400
Регистрация: 05.07.2013
Сообщений: 6,498
Завершенные тесты: 2
08.02.2014, 16:55 2
так
C#
1
listView1.EnsureVisible(50);
?
1
iUser
450 / 30 / 1
Регистрация: 07.01.2014
Сообщений: 124
08.02.2014, 18:28  [ТС] 3
xoraxax, спасибо большое.

Не по теме:

При поиске в списке свойств и методов пропустил этот пункт, вероятнее всего описание недопонял. А в поисковике не смог вопрос правильно сформулировать. В душе понимал, что решение должно быть в такой форме, а не через какую-нибудь высоту строки помноженную на номер элемента.

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.02.2014, 18:28

Listview - как запретить переход к другому item'у
Всем привет! Ситуация следущая: есть форма, в listview несколько item'ов, к...

Поиск в TextBox по выделенному фрагменту
надо выделить текст в textbox1 и все слова в которых присутствует выделенный...

RichTextBox - прокрутка к выделенному фрагменту текста
Здравствуйте, в RichTextBox есть, например, глава некой книги. Отображается...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru