Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
WPF VB.NET - Multithreading - Fill Listbox
_Cashisclay
myCSharp.de - Member



Dabei seit:
Beiträge: 277

Themenstarter:

WPF VB.NET - Multithreading - Fill Listbox

beantworten | zitieren | melden

Hallo Liebe Community,

ich möchte meine Listbox(en) via Multithreading befüllen lassen, das die Items alle paar Sekunden nacheinander hinzugefügt werden.

Hat jemand einen Denkanstoß oder ein Beispiel? Ich komm bisher nicht voran.

Grüße
private Nachricht | Beiträge des Benutzers
Coffeebean
myCSharp.de - Team

Avatar #avatar-3295.gif


Dabei seit:
Beiträge: 2.207
Herkunft: Deutschland/Schweiz

beantworten | zitieren | melden

Hallo _Cashisclay,

was hast du bisher probiert? Wo hakts genau?

[Hinweis] Wie poste ich richtig? Punkt 4 und 5.

[FAQ] Warum blockiert mein GUI? Hilft vielleicht auch.

Gruss

Coffeebean
private Nachricht | Beiträge des Benutzers
_Cashisclay
myCSharp.de - Member



Dabei seit:
Beiträge: 277

Themenstarter:

beantworten | zitieren | melden

Hallo Coffeebean,

ich hab mich bisher ein wenig im Buch belesen, außerdem schon eine weile gegoogled.

Ich möchte halt aus einer bestehenden Liste die sogar als Itemsource schon angebunden ist, jedes Item nach einigen Sekunden in die ListBox laden, aus dem Grund das beim erstellen dieser Liste, jedes Item unterschiedliche Zeit brauch und dadurch die gesamte Anwendung hängt.

 Private Sub Button1_Click(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles Button1.Click
        Nas_Durchlauf.PingResult()
        'ListB_Nas.Items.Refresh()
        'Geräte_Durchlauf.PingResult()

        '' ListB_Geräte.DataContext = Geräte_Durchlauf.PingResults
        'Server_Durchlauf.PingResult()
        'Drucker_Durchlauf.PrinterResult()

        'Me.UpdateLayout()
        Dim testThread As New System.Threading.Thread(AddressOf Test2)

        testThread.Start()
  End Sub

    Private Sub Test1()
        Try
            System.Threading.Thread.Sleep(1000)
            Dim Test As New Properties

            Test.Name = "TEST"
            Test.Zugriff = 1

            Nas_Durchlauf.PingResults.Add(Test)

            ListB_Nas.Items.Refresh()

            System.Threading.Thread.Sleep(10000)

            Dim Bla As New Properties

            Bla.Name = "TEST2"
            Bla.Zugriff = 0

            Nas_Durchlauf.PingResults.Add(Bla)

            ListB_Nas.Items.Refresh()
        Catch ex As Exception
            MessageBox.Show(ex.ToString)
        End Try

    End Sub

    Private Delegate Sub DelegateTest()

   Private Sub Test2()

        System.Threading.Thread.Sleep(1000)

        Dim test123 As New DelegateTest(AddressOf Test1)

        Me.Dispatcher.Invoke(test123)
   End Sub

Aber schon in diesem kleinen Versuch funktioniert es nicht, er fügt immer alles als gesamten Block hinzu. Nicht das eine Item nach 1 Sekunde und das andere nach 10 sondern alles nach 11.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von _Cashisclay am .
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15.931

beantworten | zitieren | melden

Hast Du auch den Link von Coffeebean gelesen?
Denn da steht die Lösung....

Die Verwendung von Sleetp zeigt, dass Du es nicht wirklich verstanden (oder gelesen) hast.
private Nachricht | Beiträge des Benutzers