.NET - Sinn und Unsinn von InvokeRequired?

31/05/2011 - 10:15 von Martin Eckel | Report spam
Hallo,

wozu braucht man eigentlich InvokeRequired?

Wenn die Möglichkeit besteht, daß es ein threadübergreifender Vorgang
sein könnte, nutze ich grundsàtzlich .Invoke - dies funktioniert
anscheinend problemlos, auch wenn der Vorgang NICHT threadübergreifend ist.

Im Netz kursieren haufenweise Beispiele, bei denen InvokeRequired
aufgerufen wird und dann entschieden, ob die Eigenschaft über Invoke
oder direkt aufgerufen wird.
Wozu?

Gruß,
Martin
 

Lesen sie die antworten

#1 Jochen Kalmbach [MS MVP]
31/05/2011 - 10:34 | Warnen spam
Wenn Du _immer_ Invoke aufrufst, so wird der Aufruf eben _immer_
"verzögert"...

Invoke schickt intern eine Windows-Message in die MessageQueue und
wartet bis diese verarbeitet wurde...

Wenn Du hingegen die Methode direkt aufrufst, bist Du halt schneller...

Aus meiner Sicht macht es Sinn "InvokeRequired" aufzurufen, wenn es
beide Fàlle geben kann und ich sehr schnell reagieren will.

Ähnliche fragen