CodeMine Ответов: 2

Прокрутка списка должна прокручивать другой список


У меня есть два списка в форме
один из них содержит имя студента
другой содержит возраст студентов
если я прокручиваю первый список, то второй список должен прокручиваться
автоматически
как это сделать?

Что я уже пробовал:

попробовал прокрутить событие listbox по-другому, но безуспешно
Private Sub ListBox2_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox2.SelectedIndexChanged
   If ListBox2.TopIndex <> ListBox1.TopIndex Then
      ListBox2.TopIndex = ListBox1.TopIndex
   End If

   If ListBox2.SelectedIndex <> ListBox1.SelectedIndex Then
      ListBox2.SelectedIndex = ListBox1.SelectedIndex
   End If
End Sub

Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
   If ListBox1.TopIndex <> ListBox2.TopIndex Then
      ListBox1.TopIndex = ListBox2.TopIndex
   End If

   If ListBox1.SelectedIndex <> ListBox2.SelectedIndex Then
      ListBox1.SelectedIndex = ListBox2.SelectedIndex
   End If
End Sub

phil.o

Пожалуйста, отметьте, какой пользовательский интерфейс вас интересует: Windows Forms, WPF, ASP.NET-что?
Пожалуйста, также подробно опишите, что именно вы пробовали, что было неудачным.

CodeMine

Формы Windows VB.NET

CodeMine

Private Sub ListBox2_SelectedIndexChanged(ByVal sender As System.Объект, бывал е как система.EventArgs) Обрабатывает ListBox2.SelectedIndexChanged
Если ListBox2.TopIndex <> ListBox1.TopIndex Тогда
ListBox2.TopIndex = ListBox1.TopIndex
Конец, Если

Если ListBox2.Свойства selectedIndex &ЛТ;&ГТ; список listbox1.Свойства SelectedIndex Тогда
ListBox2.Свойства SelectedIndex = Список Listbox1.Свойства selectedIndex
Конец, Если
Конец Подводной Лодки

Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Объект, бывал е как система.EventArgs) Обрабатывает ListBox1.SelectedIndexChanged
Если ListBox1.TopIndex <> ListBox2.TopIndex Тогда
Список listbox1.TopIndex = ListBox2.TopIndex
Конец, Если

Если В Списке Listbox1.Свойства selectedIndex &ЛТ;&ГТ; ListBox2.Свойства SelectedIndex Тогда
Список listbox1.Свойства SelectedIndex = ListBox2.Свойства selectedIndex
Конец, Если
Конец Подводной Лодки

phil.o

Пожалуйста, не помещайте код в комментарии; лучше используйте зеленый виджет "улучшить вопрос" и квалифицируйте свой вопрос вместо этого. Я делаю это для вас в этот раз, в следующий раз, пожалуйста, следуйте этому руководству.

CodeMine

спасибо тебе

2 Ответов

Рейтинг:
2

ZurdoDev

Первый результат в Google для меня пример, c# - прокрутка двух списков ( Windows Form ) одновременно - переполнение стека[^].


CodeMine

это на языке Си#
это vb, тогда это будет полезно для меня.

ZurdoDev

Они очень похожи. Большинство людей используют C#, поэтому большинство примеров в интернете будут на C#.

Рейтинг:
2

Ralf Meier

Ваше собственное решение не работает, потому что эффект неправильно запрограммирован. Измените его вот так :

Private Sub ListBox2_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox2.SelectedIndexChanged
   If ListBox1.TopIndex <> ListBox2.TopIndex Then
      ListBox1.TopIndex = ListBox2.TopIndex
   End If

   If ListBox1.SelectedIndex <> ListBox2.SelectedIndex Then
      ListBox1.SelectedIndex = ListBox2.SelectedIndex
   End If
End Sub

Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
   If ListBox2.TopIndex <> ListBox1.TopIndex Then
      ListBox2.TopIndex = ListBox1.TopIndex
   End If

   If ListBox2.SelectedIndex <> ListBox1.SelectedIndex Then
      ListBox2.SelectedIndex = ListBox1.SelectedIndex
   End If
End Sub


Изменение появляется в (например) Listbox1 - таким образом, Вы должны изменить Listbox2. Ты сделал все наоборот ...