Zum Inhalt springen

c# Oberflächenfunktionalität vom Workerthread trennen


Idexe

Empfohlene Beiträge

Hallo,

ich habe einen thread der mir Zeichen von einer Schnittstelle liest. Sobald ein 'Object' fertig gelesen führt es zu einem update der Oberfläche.

Da das Zeichnen im Form relativ lange dauert soll das nicht im Workerthread passieren.

Wie kann mein Form 'benachritigen', dass es was neues zum Zeichnen gibt.

Möchte keinen Timer verwenden, der immer nachuckt.

Bei MFC gab konnte man sich eine eigene Windowsnachricht erstellen und die an das Fenster schicken.

Gibt es ein ähnliches Konzept in c# ?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hm entweder stell ich mir das zu einfach vor, oder ich erkenn das Problem nicht so wirklich.

Warum machst in einem Form nicht einfach eine Funktion, die das Zeichnen auslößt und rufst diese vom Workthread aus auf, wenn dieser mit seiner Verarbeitung durch ist?

Gruß

LordK

Link zu diesem Kommentar
Auf anderen Seiten teilen

ich nehme mal an, der Workthread sammelt die Daten in einer Schleife. Und immer wenn er ein 'object' fertig hat, muss ja irgendwie gekennzeichnet sein, dass etwas fertig ist und dann muss er einfach einen zweiten Thread anstoßen, der Zeichnet. Der arbeitet dann ja unabhängig vom Workthread.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das würde mein Problem eigentlich lösen...

Frage mich trotzdem noch ob es in den .NET forms keine Möglichkeit gibt einen benutzerdefinierten event zu erzeugen, der dann im 'Form'-thread bearbeitet wird.

Habs schon mit event ... versucht aber dann funktioniert das ganze nur wie eine Callbackfunktion.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Es gibt da eine rercht einfach zu Nutzende Klasse

"ManualResetEvent"

mit der kannst da richtig viel schindluder betreiben und in jeweiligen Tread auf das setzten des Events durch nen anderen Thread warten.

Eine andere möglichkeit die dich aber weiter bringen würde ist die Anwendung eines "Delegate". Der Ruft unabhängig vom erzeugenden Thread eine Methode in einem anderen auf. Für eine genaue Beschreibung dieser Methodik schaust aber am besten in MSDN nach oder fragst mich nochmal.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...