powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / какое событие отслеживает передвижение стрелками курсора по записям в Listview?
18 сообщений из 18, страница 1 из 1
какое событие отслеживает передвижение стрелками курсора по записям в Listview?
    #38078186
Karlus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день. подскажите, какое событие происходит при передвижении стрелками курсора по listview?
Есть код
Код: vbnet
1.
2.
3.
Private Sub ListView1_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListView1.MouseClick
Label1.Text = MData(ListView1.FocusedItem.Index, 0)
    End Sub


Нужно чтобы в label1 подставлялись данные не только при выборе курсором мыши, но при перемещении стрелками курсора
...
Рейтинг: 0 / 0
какое событие отслеживает передвижение стрелками курсора по записям в Listview?
    #38078249
Фотография pation
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Karlus,

MouseMove
...
Рейтинг: 0 / 0
какое событие отслеживает передвижение стрелками курсора по записям в Listview?
    #38078273
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Karlus,

SelectedIndexChanged
...
Рейтинг: 0 / 0
какое событие отслеживает передвижение стрелками курсора по записям в Listview?
    #38078298
Karlus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MouseMove - вообще не то. Это событие при движении курсора мыши над listview
А вот с SelectedIndexChanged не получилось
Код: vbnet
1.
2.
3.
 Private Sub ListView1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListView1.SelectedIndexChanged
        Label1.Text = MData(ListView1.FocusedItem.Index, 0)
    End Sub


В этом коде выдает ошибку, что нет ссылки на объект. Я так понимаю, что событие отрабатывает ДО передачи фокуса строчке, соответственно нет строчки с фокусом. Что тогда использовать вместо ListView1.FocusedItem.Index?
...
Рейтинг: 0 / 0
какое событие отслеживает передвижение стрелками курсора по записям в Listview?
    #38078835
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что то я не понимаю автора вообще :)
есть SeletectItems, если групповой выборки нет, то выбранным будет всегда (ListViewItem)SeletectItems[0]
а событие как уже писали выше obj. SelectedIndexChanged +=new EventHandler(obj_SelectedIndexChanged);
...
Рейтинг: 0 / 0
какое событие отслеживает передвижение стрелками курсора по записям в Listview?
    #38078975
Karlus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если я правильно понимаю, то нужно писать следующим образом
Код: vbnet
1.
2.
3.
Private Sub ListView1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListView1.SelectedIndexChanged
             Label1.Text = ListView1.SelectedItems(0).Index
    End Sub


Но при выборе любой строчки выдается ошибка:
InvalidArgument=Значение "0" недопустимо для "index". Имя параметра: index
...
Рейтинг: 0 / 0
какое событие отслеживает передвижение стрелками курсора по записям в Listview?
    #38079016
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Karlus,

вы обращаетесь сразу к 0 элементу не удостоверившись существует ли он вообще.
то есть надо сперва сделать проверку, есть ли вообще выделенные элементы
что то типа
If SelectItems.Count > 0 then ...
if (SelectItems.Count > 0) ...
...
Рейтинг: 0 / 0
какое событие отслеживает передвижение стрелками курсора по записям в Listview?
    #38079017
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtes,

тут ошибка сообщает не о поле Index, а о значении index которое вы передаете в SelectedItems[ index ]
...
Рейтинг: 0 / 0
какое событие отслеживает передвижение стрелками курсора по записям в Listview?
    #38079032
Karlus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Roman Mejtes,
Вот так действительно заработало:
Код: vbnet
1.
2.
3.
4.
5.
6.
Private Sub ListView1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListView1.SelectedIndexChanged
              If ListView1.SelectedItems.Count > 0 Then
            Label1.Text = ListView1.SelectedItems(0).Index
        End If

    End Sub


Но я не пойму смысла. В чем причина, что без условия не работает?
Тестирую на одних и тех строчках. Если без условия выдает ошибку, то, по логике, с условием не должно просто выполнится, ан нет, выполняется.
...
Рейтинг: 0 / 0
какое событие отслеживает передвижение стрелками курсора по записям в Listview?
    #38079064
Фотография fortibransa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Просто в какой-то момент в ListView1.SelectedItems вообще нихрена нету.
...
Рейтинг: 0 / 0
какое событие отслеживает передвижение стрелками курсора по записям в Listview?
    #38079108
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Karlus,

коллекция SelectedItems существует всегда, но не всегда количество элементов в ней больше 0, это же очевидно
...
Рейтинг: 0 / 0
какое событие отслеживает передвижение стрелками курсора по записям в Listview?
    #38079233
Karlus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Roman Mejtes,
Это-то очевидно, но я не могу понять почему вылетает ошибка без условия, если условие истинно всегда. А при наличии этого условия все отрабатывает. Такое ощущение что это условие определяет выделение строки.
...
Рейтинг: 0 / 0
какое событие отслеживает передвижение стрелками курсора по записям в Listview?
    #38079297
Фотография fortibransa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KarlusRoman Mejtes,
Это-то очевидно, но я не могу понять почему вылетает ошибка без условия, если условие истинно всегда. А при наличии этого условия все отрабатывает. Такое ощущение что это условие определяет выделение строки.Тебе же пишут, что оно истинно не всегда.
...
Рейтинг: 0 / 0
какое событие отслеживает передвижение стрелками курсора по записям в Listview?
    #38079579
Karlus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
fortibransa,
Тогда почему с этим условием ВСЕГДА отрабатывает. Я этого понять не могу. В чем особенность?
Я и прошу объяснить суть этого явления, которое я не могу увязать с описанием события.
по описанию: событие случается после выбора строки. При этом ни ListView1.FocusedItem.Index, ни ListView1.SelectedItems(0).Index ни есть истина. А условие ListView1.SelectedItems.Count > 0 - истина.
Я нахожу только одно объяснение, что это событие наступает 2 раза, до выбора строки и после, но это не соответствует описанию.
Прав я или нет. Я просто хочу разобраться
...
Рейтинг: 0 / 0
какое событие отслеживает передвижение стрелками курсора по записям в Listview?
    #38079627
Фотография fortibransa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Karlusfortibransa,
Тогда почему с этим условием ВСЕГДА отрабатывает. Я этого понять не могу. В чем особенность?
Я и прошу объяснить суть этого явления, которое я не могу увязать с описанием события.
по описанию: событие случается после выбора строки. При этом ни ListView1.FocusedItem.Index, ни ListView1.SelectedItems(0).Index ни есть истина. А условие ListView1.SelectedItems.Count > 0 - истина.
Я нахожу только одно объяснение, что это событие наступает 2 раза, до выбора строки и после, но это не соответствует описанию.
Прав я или нет. Я просто хочу разобратьсяну дык поставь точку останова, до проверки условия и увидишь сколько раз происходит данное событие. Скорее всего призагрузке формы и отрисовки контролов или там еще что когда еще у листа нету данные а select этот происходит, потом в лист загружаются данные и опять происходит этот select
...
Рейтинг: 0 / 0
какое событие отслеживает передвижение стрелками курсора по записям в Listview?
    #38079646
Karlus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проверил с точками остановки, выяснилось что при смене строки любым способом (клавиши курсора, PageUp, мышка и т.д.) событие наступает 2 раза.
1 - при снятии фокуса со старой строки.
2 - при установки фокуса на новую строку.
Всем спасибо за подсказки!
...
Рейтинг: 0 / 0
какое событие отслеживает передвижение стрелками курсора по записям в Listview?
    #38079657
Lexxxxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KarlusПроверил с точками остановки, выяснилось что при смене строки любым способом (клавиши курсора, PageUp, мышка и т.д.) событие наступает 2 раза.
1 - при снятии фокуса со старой строки.
2 - при установки фокуса на новую строку.
Всем спасибо за подсказки!

Хорошо проверяли? Точно два раза?!
...
Рейтинг: 0 / 0
какое событие отслеживает передвижение стрелками курсора по записям в Listview?
    #38079672
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Karlus, самостоятельно документацию сложно почитать? ListView.SelectedIndex Property
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / какое событие отслеживает передвижение стрелками курсора по записям в Listview?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]