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
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
Microsoft MVP // Me // Blog // GitHub // @Egghead // All my talks // Speakerdeck
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.
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.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code