Frage

Ich habe diesen Code:

this.Invoke(new EventHandler(EventGetSum));

Ist das nicht das gleiche wie das Schreiben:

EventGetSum();

Was nützt das?

War es hilfreich?

Lösung

Wenn Sie EventGetSum() schreiben, dass ruft sofort die EventGetSum Methode.

Wenn Sie schreiben new EventHandler(EventGetSum), die einen Delegaten erstellt, die wird (wiederum) EventGetSum aufrufen, wenn es aufgerufen wird.

Der Aufruf von Control.Invoke ruft die gegeben Delegierten des UI-Thread für die Steuerung verantwortlich. Dies ist notwendig, weil Sie nicht UI-Elemente aus beliebigen Threads zugreifen müssen.

Andere Tipps

Es führt die EventGetSum Verfahren in dem Thread, dass das Fenster this gehört.

Dies wird normalerweise verwendet, wenn mit Kreuz Thread UI Anrufen.

Sehen Sie in der MSDN-Dokumentation für ISynchronizeInvoke.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top