Listen Synchronisieren

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Listen Synchronisieren

    Hallo,
    ich habe 2 Listen deren angewählten Inhalt ich synchronisiere mit einem Timer.

    VB.NET-Quellcode

    1. Private Sub Timer3_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer3.Tick
    2. ' Position ListBox2 mit Position ListBox1 synchronisieren
    3. With ListBox2
    4. ' TopIndex
    5. If .TopIndex <> ListBox1.TopIndex Then
    6. ListBox1.TopIndex = .TopIndex
    7. End If
    8. ' SelectedIndex
    9. If .SelectedIndex <> ListBox1.SelectedIndex Then
    10. ListBox1.SelectedIndex = .SelectedIndex
    11. End If
    12. End With
    13. End Sub



    Ist es möglich eine 3te Liste hinzuzufügen ? Wenn ja, wie ? :?:

    Danke für Eure Hilfe

    Codetag eingefügt. ~Thunderbolt

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Thunderbolt“ ()

    Hey @estrichbeton
    er meinte das hier:

    VB.NET-Quellcode

    1. Private Sub Timer3_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer3.Tick
    2. With ListBox2
    3. If .TopIndex <> ListBox1.TopIndex Then
    4. ListBox1.TopIndex = .TopIndex
    5. End If
    6. If .SelectedIndex <> ListBox1.SelectedIndex Then
    7. ListBox1.SelectedIndex = .SelectedIndex
    8. End If
    9. End With
    10. End Sub


    Du musst dazu im Editor des Forums auf den VB.NET Button drücken- nachdem du den Text markiert hast- kannst aber auch [ vbnet ] [ /vbnet ] schreiben (ohne Leerzeichen), so würde aus [ vbnet ]Dim Wort as String = "" [ /vbnet ] das hier werden

    VB.NET-Quellcode

    1. Dim Wort as String = ""


    Wieso magst du einen Timer nutzen?
    Was bzw. wann möchtest du denn abgleichen? Du kannst sicherlich ein anderes Event nutzen, z.B. eines der ListBox(en).
    EDIT: Siehe @Ruerte s Kommentar ^^ :D

    Gruß,
    Drahuverar
    Option Strict On!

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Drahuverar“ ()

    Hallo @estrichbeton,

    1. wie @mox schon gesagt hat verwende mitte den Code Tag: [vbnet][/vbnet] EDIT: @Drahuverar war schneller es zu wiederholen :D
    2. Wenn ich dich richtig verstehe... möchtest du das, wenn in der Lixtbox1 ein anderes Item ausgewählt wird, das auch in Lixtbox2 und Lixtbox3 ausgewählt wird (anhand der IndexID)?
    Wenn ja nutze Bitte keinen Timer sondern das Change Event von Listbox1

    VB.NET-Quellcode

    1. Private Sub ListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListBox1.SelectedIndexChanged
    2. ListBox2.SelectedIndex = ListBox1.SelectedIndex
    3. ListBox3.SelectedIndex = ListBox1.SelectedIndex
    4. End Sub


    LG Ruerte
    Unfortunately, this Signature is not available in Germany because it may contain music for which GEMA
    has not granted the respective music rights. Sorry about that.

    Funktioniert bei mir leider nicht, mit dem Code , keine Berechtigung...

    Der Inhalt eines Ordners den ich lade mit dem Openfiledialog wird in die Listen geladen.

    Eine Liste davon ist zum auswählen, markiere ich eine Datei wird diese durch den Timer im Moment auch in der zweiten Liste markiert.
    Jetzt möchte ich auch noch eine dritte Liste hinzufügen die ebenfalls so synchronisiert wird.
    @estrichbeton
    Jeder auf diesem Forum ist dazu berechtigt-- welchen Browser nutzt du?
    andernfalls schreib mal [ vbnet ] [ /vbnet ] (wie gesagt ohne Leerzeichen und schreib was zwischen die eckigen Klammern)

    Das heißt du wählst deinen Ordner bzw. hinterlegst einen Pfad und dann geschieht folgendes:
    Die 2. ListBox erhält/enthält... ? Welche Informationen lässt du dir anzeigen bzw. möchtest du dir anzeigen lassen?
    Je konkreter du dein Vorhaben beschreibst umso besser können wir dir helfen :)

    EDIT: @Ruerte Tag-Team :D


    Gruß,
    Drahuverar
    Option Strict On!
    @estrichbeton Leider verstehe ich dein Problem nicht so ganz. Am besten wäre es wenn du mal deine Projektmappe anhängen könntest damit wir uns das mal anschauen können. Ich befürchte das wir sonst aneinander vorbei reden bzw. ich nicht dein Problem verstehe.

    LG Ruerte
    Unfortunately, this Signature is not available in Germany because it may contain music for which GEMA
    has not granted the respective music rights. Sorry about that.

    Funktioniert mit deinem Code einwandfrei !
    Vielen Dank

    VB.NET-Quellcode

    1. Private Sub ListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListBox1.SelectedIndexChanged
    2. ListBox2.SelectedIndex = ListBox1.SelectedIndex
    3. ListBox3.SelectedIndex = ListBox1.SelectedIndex
    4. End Sub
    Definiere

    estrichbeton schrieb:

    Synchronisieren
    Eigentlich sollte eine einzige Liste genügen.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!