Veröffentlicht 23. August 200619 j 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
29. August 200619 j 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 ...)
30. August 200619 j 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.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.