Hallo
Ich habe folgende 2 unterschiedliche Threads (davon ist auch keiner der Haupthread - also wirklich 2 eigenständige Threads):
Titel und Interpret sind 2 Controls die ich mir selber gebastelt habe. Auf dem Interpret befindet sich eine PictureBox auf Interpret eine DataGridView. Die Funktionen aus den Threads sehen so aus:
Wenn ich jetzt über Buttons einem Panel auf der Form einmal INTERPRET_PANEL und einmal TITEL_PANEL per Panel1.Controls.Add(...) zuweise kommt es bei dem TITEL_PANEL zu dem Laufzeitfehler:
Das INTERPRET_PANEL kann ohne Probleme dem Panel1 auf der Form zugewisen werden. Woran liegt das? In meinem Code sehe ich gerade keinen Fehler. Wird eine DataGridView anders als eine PictureBox von Threads behandelt oder liegt es vllt an der WriteOnly Property die anders behandelt wird - wie läuft das? Vllt sehe ich es aber gerade auch einfach nur nicht. Würde mich freuen wenn mal jemand drüber gucken könnte und mir sagen kann was falsch ist.
Bin für jede Hilfe dankbar. Viee Grüße
Croasider
Ich habe folgende 2 unterschiedliche Threads (davon ist auch keiner der Haupthread - also wirklich 2 eigenständige Threads):
VB.NET-Quellcode
- Dim INTERPRETEN_PANEL As FlowLayoutPanel
- Dim WithEvents TITEL_PANEL As FlowLayoutPanel
- Private Sub InterpretenInit()
- INTERPRETEN_PANEL = New FlowLayoutPanel
- Dim i As New Interpret()
- i.AddCover(getCover())
- INTERPRETEN_PANEL.Controls.Add(i)
- End Sub
- Private Sub TitelInit()
- TITEL_PANEL = New FlowLayoutPanel
- Dim t As New Titel
- Dim ob() As Object = {"1", "2", "3", "4"}
- t.AddRow(ob)
- TITEL_PANEL.Controls.Add(t)
- End Sub
Titel und Interpret sind 2 Controls die ich mir selber gebastelt habe. Auf dem Interpret befindet sich eine PictureBox auf Interpret eine DataGridView. Die Funktionen aus den Threads sehen so aus:
Wenn ich jetzt über Buttons einem Panel auf der Form einmal INTERPRET_PANEL und einmal TITEL_PANEL per Panel1.Controls.Add(...) zuweise kommt es bei dem TITEL_PANEL zu dem Laufzeitfehler:
Ungültiger threadübergreifender Vorgang: Der Zugriff auf das Steuerelement DataGridView1 erfolgte von einem anderen Thread als dem Thread, für den es erstellt wurde.
Das INTERPRET_PANEL kann ohne Probleme dem Panel1 auf der Form zugewisen werden. Woran liegt das? In meinem Code sehe ich gerade keinen Fehler. Wird eine DataGridView anders als eine PictureBox von Threads behandelt oder liegt es vllt an der WriteOnly Property die anders behandelt wird - wie läuft das? Vllt sehe ich es aber gerade auch einfach nur nicht. Würde mich freuen wenn mal jemand drüber gucken könnte und mir sagen kann was falsch ist.
Bin für jede Hilfe dankbar. Viee Grüße
Croasider
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Croasider“ ()