afrokalypse Geschrieben 23. August 2006 Teilen Geschrieben 23. August 2006 hi leute. ich habe ein programm welches nach dem model-view-control konzept aufgebaut ist. jede meiner views ist ein eigenes steuerelement. per events kann die controller seite mit dem model und den views kommunizieren. nun starte ich asynchrone threads mit BeginInvoke, etc... wenn vom Model aus nun bestimmte vorgänge abgelaufen sind erhält der controller per event die nachricht, alle weiteren views zu aktualisieren. hier entsteht nun das problem, dass ich threadübergreifend arbeite, da ich nicht für meine steuerelemente die invoke-methoden aufrufe. also zB: myTextBoxView.Invoke(blubbs); ich möchte meine views ausschließlich zum anzeigen der daten benutzen. gibt es eine möglichkeit die views zu aktualisieren ohne invoke auf view-seite zu benutzen? ich hoffe das war verständlich erklärt was ich vor habe.. mfg Afr0 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Argbeil Geschrieben 29. August 2006 Teilen Geschrieben 29. August 2006 Hi! Nein, ich glaube nicht dass das geht ohne Invoke zu verwenden. Du könntest dir mal das Observer Pattern ansehen und die Lösung damit evtl. etwas schöner gestallten, aber auch hier muss im Endeffekt wieder über Invoke die Daten aktualisiert werden (evtl. kannst du damit auf einen Invoke aufruf runter, Invoke(RefreshAll()) oder so ...) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
afrokalypse Geschrieben 30. August 2006 Autor Teilen Geschrieben 30. August 2006 hi das observer pattern wollten meine kollegen nicht =) ich hab das ganze nun mit backgroundworkern gelöst. so muss ich keinen direkten aufruf innerhalb der jeweiligen view-klasse vornehmen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.