Hallo
Ich beschäftige mich derzeit mit Multithreading.
Ich habe ein test programm erstellt wo ich paralell 2
Das kannte möchte ich gerne mit multithreading realisieren.
und den Fortschritt möchte ich gerne in ein Label sehen.
hier mal mein gesamter code:
Wenn ich das ganze jetzt debugge und ich zb. auf den button1 click
bekomme ich:
Zusätzliche Informationen: Ungültiger threadübergreifender Vorgang: Der Zugriff auf das Steuerelement Label1 erfolgte von einem anderen Thread als dem Thread, für den es erstellt wurde.
Habe mal gelesen das man das ganze mit
Gibt es da noch eine andere Möglichkeit das auszuführen?
oder wenn mir das jemand mit
Ich beschäftige mich derzeit mit Multithreading.
Ich habe ein test programm erstellt wo ich paralell 2
For
ausführen lassen will.Das kannte möchte ich gerne mit multithreading realisieren.
und den Fortschritt möchte ich gerne in ein Label sehen.
hier mal mein gesamter code:
VB.NET-Quellcode
- Public Class Form1
- '2 neue Threads anlegen
- Dim thread1 As Threading.Thread
- Dim thread2 As Threading.Thread
- 'Button1
- Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
- thread1 = New Threading.Thread(AddressOf schleife1)
- thread1.Start()
- End Sub
- 'Button2
- Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
- thread2 = New Threading.Thread(AddressOf schleife2)
- thread2.Start()
- End Sub
- 'schleife1
- Private Sub schleife1()
- For i As Integer = 0 To 1000
- Application.DoEvents()
- System.Threading.Thread.Sleep(100)
- Label1.Text = i.ToString
- Next
- End Sub
- 'schleife2
- Private Sub schleife2()
- For i As Integer = 0 To 100
- Label2.Text = i
- Application.DoEvents()
- System.Threading.Thread.Sleep(100)
- Next
- End Sub
- End Class
Wenn ich das ganze jetzt debugge und ich zb. auf den button1 click
bekomme ich:
Zusätzliche Informationen: Ungültiger threadübergreifender Vorgang: Der Zugriff auf das Steuerelement Label1 erfolgte von einem anderen Thread als dem Thread, für den es erstellt wurde.
Habe mal gelesen das man das ganze mit
delegate sub
und invoke
irgendwie beheben kann, aber da blick ich noch nicht so durch.Gibt es da noch eine andere Möglichkeit das auszuführen?
oder wenn mir das jemand mit
delegate sub
und invoke
nähr bringt wäre ich auch sehr dankbar^^