Laden...

[gelöst] Mit FileSystemWatcher-Event ein Formular schliessen

Erstellt von codeGenerator vor 15 Jahren Letzter Beitrag vor 15 Jahren 889 Views
C
codeGenerator Themenstarter:in
52 Beiträge seit 2008
vor 15 Jahren
[gelöst] Mit FileSystemWatcher-Event ein Formular schliessen

Hi Leute,

folgendes Problem:

Ich habe eine MDI-Anwendung, die Updatebar bzw. Neustartbar sein soll. Meine Struktur sieht bisher so aus, dass ich zunächst einen FileSystemWatcher initialisiere und dann mein Hauptformular erzeuge und anzeige.
Löst mein watcher z.B. ein Create-Event aus, möchte ich, dass mein Formular geschlossen wird. Ich habe versucht dies mit Hilfe des Observer-Pattern zu lösen. Mein MDI-Parent-Formular ist also ein Observer, der ein bestimmtes Subjekt beobachtet. Löst mein Watcher ein Event aus, wird das Subjekt geändert, welches daraufhin (alle) seine Observer über die Änderung informiert. Mein Formular soll nun auf die Benachrichtigung reagieren und sich schliessen, was aber nicht funktioniert, da der Watcher in einem anderen Thread läuft.
Ich bekomme also folgende Meldung:
Ungültiger threadübergreifender Vorgang: Der Zugriff auf das Steuerelement FrmMain erfolgte von einem anderen Thread als dem Thread, für den es erstellt wurde.

Hat jemand eine Idee, wie ich das evtl. anders aufbauen kann?

49.485 Beiträge seit 2005
vor 15 Jahren

Hallo codeGenerator,

[FAQ] Controls von Thread aktualisieren lassen (Control.Invoke)

oder vielleicht auch

FileSystemWatcher.SynchronizingObject

herbivore

T
210 Beiträge seit 2006
vor 15 Jahren

Dein Formular hat die Methode Invoke. Sieh Dir dazu mal die Hilfe an...

C
codeGenerator Themenstarter:in
52 Beiträge seit 2008
vor 15 Jahren

Super...danke!!!
Genau das, was ich gesucht habe!