Befinden sich zwei Listboxen mit einer gleichen Anzahl Elemente auf einem Formular, und soll beim Auswählen eines Elementes der Liste 1 parallel auch das entsprechende Element der Liste 2 selektiert werden, so hilft Ihnen dieser Tipp weiter. Benötigt wird ein Timer-Objekt, dessen Intervall-Eigenschaft Sie auf den Wert 50 Millisekunden setzen. Jedesmal, wenn das Timer1_Tick-Ereignis ausgelöst wird, wird die aktuelle Position der Liste 1 mit der Liste 2 verglichen und ggf. die Position der Liste 2 neu gesetzt. Erstellen Sie ein neues Windows-Forms Projekt und platzieren auf die Form1 zwei ListBox-Controls (ListBox1 und ListBox2). Fügen Sie anschließend nachfolgenden Code in den Codeteil der Form1 ein: Public Class Form1 ' Timer-Objekt zur ListBox-Synchronisation Dim WithEvents oTimer As Timer Private Sub Form1_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load ' Listboxen füllen For i As Integer = 1 To 100 ListBox1.Items.Add("Eintrag " & CStr(i)) ListBox2.Items.Add("Eintrag " & CStr(i)) Next ' Timer starten oTimer = New Timer oTimer.Interval = 50 oTimer.Start() End Sub Private Sub oTimer_Tick(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles oTimer.Tick ' Position ListBox2 mit Position ListBox1 synchronisieren With ListBox1 ' TopIndex If .TopIndex <> ListBox2.TopIndex Then ListBox2.TopIndex = .TopIndex End If ' SelectedIndex If .SelectedIndex <> ListBox2.SelectedIndex Then ListBox2.SelectedIndex = .SelectedIndex End If End With End Sub End Class |