Ich versuche herauszufinden, ob es eine Möglichkeit gibt, ToolStripMenuItem aufzurufen.
Zum Beispiel rufe ich einen Webservice (ASynchrously) auf, wenn das Ergebnis zurückgegeben wird. Ich beziehe die Drop-Down-Elemente entsprechend dem Ergebnis (in Callback-Methode)
%Vor%aber ich bekomme eine Ausnahme
Cross-thread-Operation nicht gültig: Steuerung '', auf die von einem anderen Thread als dem Thread zugegriffen wird, auf dem sie erstellt wurde.
Dem Tooltrip-Objekt ist keine Aufruffunktion zugeordnet . Kann ich das anders machen? Versuche ich das völlig falsch zu machen? Jede Eingabe wäre hilfreich.
Sie versuchen Code auszuführen, der sich auf den Hauptsteuerungs-Thread in einem anderen Thread stützt. Sie sollten ihn mit Invoke
method aufrufen:
Beim Zugriff auf Steuerelemente / Methoden aus einem Thread, der sich vom Thread unterscheidet, auf dem das Steuerelement ursprünglich erstellt hat, sollten Sie control.Invoke
method verwenden, damit die Ausführung im Delegaten des Aufrufs zum Hauptthread marshallt wird.
Bearbeiten: Da Sie ToolStripMenuItem
nicht ToolStrip
verwenden, enthält ToolStripMenuItem
nicht Invoke
member. Sie können den Formularaufruf also entweder mit " this.Invoke
" verwenden. "oder Ihre toolStrip
ihre Eltern" ToolStrip
"Aufrufen, also:
Tags und Links c# winforms user-controls invoke contextmenustrip