Laden...

[erledigt] Control.Invoke vs. this.Invoke

Erstellt von mosspower vor 15 Jahren Letzter Beitrag vor 15 Jahren 886 Views
mosspower Themenstarter:in
456 Beiträge seit 2007
vor 15 Jahren
[erledigt] Control.Invoke vs. this.Invoke

Hallo "Kollegen",

eine kleine Verständnisfrage. Beim Threading mit Windows Forms Applikations, bzw. beim Zugriff auf Controls, ist es ja nötig, dass man an den Hauptthread, bzw. and den, der das Control erstellt hat, Manipulationen an dem Control durchführt. Jetzt hatte ich hier immer gelesen, dass man das dann mittels Control.Invoke durchführen muss. Was geht da eigentlich "ab" im Hintergrund. Bedeutet dies, dass man "nur" an diesem Control Manipulationen durchführen darf (das glaube ich nicht) oder läuft im Hintergrund "einfach" ein this.Invoke ab, wobei this eine Instanz des Controlerstellers ist. Was ist der Unterschied, wenn es denn überhaupt einen gibt.

Gruß und danke schon einmal für eure Antworten im Voraus.

M
1.439 Beiträge seit 2005
vor 15 Jahren

Eine gute Erklärung gibt es hier: http://www.codeproject.com/KB/cs/begininvoke.aspx

49.485 Beiträge seit 2005
vor 15 Jahren

Hallo mosspower,

wenn du nur einen GUI-Thread hast, ist es vollkommen egal, welches Control du bei Control.Invoke verwendest, weil anhand des Controls ja nur ermittelt wird, in welchen Thread gewechselt werden muss. Insofern kann man auch immer das eigene Form (also this) für Invoke verwenden.

herbivore

mosspower Themenstarter:in
456 Beiträge seit 2007
vor 15 Jahren

@herbivore,

super, vielen Dank, dann hat sich das geklärt

@marsgk,

war auch ein sehr interessanter Link - vielen Dank!