Listbox aktualisieren

  • VB.NET

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von Scoobi.

    Listbox aktualisieren

    Hallo zusammen,

    habe folgendes Problem, ich möchte den Ordnerinhalt in einer Listbox anzeigen und dauerhaft aktualisieren.
    so weit bin ich im Moment:

    Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
    'Annahme
    ListBox1.Items.Clear()
    For Each Files In My.Computer.FileSystem.GetFiles("D:\Tuev\Profile\rysch-pe\Desktop\Auftragsdatenerfassung\Kopie\Neuer Ordner\Annahme")
    ListBox1.Items.Add(My.Computer.FileSystem.GetName(Files))
    Next
    End Sub

    Der Timer steht auf 1000ms
    Das Problem ist in dem Ordner befinden sich zum Teil an die 100 bis 200 Dateien, wenn ich die Scrollbar runterziehe springt diese dank dem Timer sofort wieder nach oben und natürlich lässt sich auch keine der Dateien markieren.

    Weiss jemand wie man soetwas noch anders vielleicht auch ohne Timer aktualisieren kann?
    "Visual Studio Express 2013"

    Grüße
    Scoobi
    Willkommen im Forum. :thumbup:

    Scoobi schrieb:

    ohne Timer aktualisieren
    geht ganz einfach mit nem FileSystemWatcher.
    Zieh Dir einen auf die GUI, parametriere ihn im Designer, aboniere die entsprechenden Events (da kannst Du mehrere davon einer Prozedur zuweisen) und lasse Dich informieren, wenn sich auf der Festplatte was geändert hat.
    Aber
    Wenn Du die Listbox löschst, ist in jedem Falle die Markierung flöten.
    Besser wäre es, Du löst die Aktualisierung per Button aus und kannst in aller Ruhe selektieren und mit der Selektierung arbeiten.
    Mache den Nutzer im Event des FileSystemWatchers darauf aufmerksam (z.B. MessageBox), dass sich was geändert hat.
    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!