Форум программистов, компьютерный форум, киберфорум
Наши страницы

C# Windows Forms

Войти
Регистрация
Восстановить пароль
 
iUser
450 / 30 / 1
Регистрация: 07.01.2014
Сообщений: 124
#1

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

08.02.2014, 14:36. Просмотров 769. Ответов 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
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.02.2014, 14:36
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Переход к выделенному элементу listView (C#):

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

ListView переход на новую строку - C#
В ListView используется представление Tile или LargeIcons. Если выбирать элемент с помощью клавиш &lt;- и -&gt;, то не происходит переноса на...

Как в ListView поймать клик по элементу? - C#
Привет! Кто сталкивался с таким, подскажите. У меня на форме ListView с отображением Detail. Не могу поймать событие, когда...

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

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

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

2
xoraxax
1197 / 1152 / 274
Регистрация: 05.07.2013
Сообщений: 5,610
Завершенные тесты: 1
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
Привет! Вот еще темы с ответами:

Получить путь к файлу выделенному в проводнике - C#
Всем привет. Хотелось бы узнать как получить путь/пути к выделенному/выделенным файлам в проводнике Windows. Если у кого то есть, то и...

Получить полный путь к выделенному файлу, атрибут которого выделен в listbox - C#
Добрый день! ВЫвожу на listbox атрибуты из xml-файлов. Затем нужно будет работать с каждым отдельным файлом. Сейчас основная проблема в...

Коллекцию, содержащуюся в ListView, перекинуть в другой ListView одним махом - C#
listView2.Items.AddRange(listView1.Items); listView1 содержит одну строчку, listView2 пуст. Какое-то левое исключение выкидывает,...

Отобразить в ListView подробную информацию об объекте, выбранном в другом ListView - C#
Имеется класс Диск и класс Трек. Класс Диск содержит лист треков. На форме имеется 2 listView'а, в один listView пользователь добавляет...


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

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

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