Laden...

[gelöst] Sowas wie OnClosing für eigenes UserControl?

Erstellt von Matrix-NTN vor 14 Jahren Letzter Beitrag vor 14 Jahren 2.019 Views
M
Matrix-NTN Themenstarter:in
267 Beiträge seit 2005
vor 14 Jahren
[gelöst] Sowas wie OnClosing für eigenes UserControl?

Hallo zusammen,

ich habe mir ein UserControll erstellt.
In diesem Controll starte ich einen Thread, welcher kontinuierlich irgendwelche arbeitet durchführt (Endlosschleife).

Wenn ich nun mein Windows-Formular, in welchem das Control sich befinden, schließe, dan beendet sich das Programm nicht komplett, da der Thread des Controls noch läuft.
Wie ich leider feststellen musste, besitzt das UserControl selbst kein Events OnClose oder OnClosing wie das Windows-Formular.

Eine möglichkeit wäre in dem UserControl eine Funktion einzubauen, welche von dem Windows-Formular bei Dispose oder OnClosing aufgerufen wird.
Somit muss ich aber immer daran denken, wenn ich dieses Control verwende...

Gibt es noch eine andere möglichkeit, dies Control-seitig automatisch zu lösen?

Danke im voraus.

Grüße
Matrix

No Risk, No Fun

830 Beiträge seit 2005
vor 14 Jahren

Hallo Matrix-NTN,

trotz des laufenden Threads wird die Dispose-Methode des Controls aufgerufen. In dieser kannst du deinen laufenden Thread mitteilen, dass dieser abbrechen/sich beenden soll (z.B. mit einer boolschen Variablen).

Gruss
Friedel

Ohne Ziel ist auch der Weg egal.

1.665 Beiträge seit 2006
vor 14 Jahren

Entweder du beendest den Thread manuell beim OnClosed der MainForm oder du beendest den Thread bei OnDispose() des UserControls. Wobei ich mir jetzt nicht sicher, ob das noch beim Beenden der Anwendung aufgerufen wird.
Falls nicht, kannst du noch auf das Application.ApplicationExit-Event reagieren.

M
Matrix-NTN Themenstarter:in
267 Beiträge seit 2005
vor 14 Jahren

Soweit so gut...
Von dem Control gibt es eine Datei namens Controlname.Designer.cs
In dieser gibt es eine Dispose Funktion von welcher ich meinen Thread stoppen kann...

Grüße
Matrix

No Risk, No Fun

M
Matrix-NTN Themenstarter:in
267 Beiträge seit 2005
vor 14 Jahren

Sorry, habe eure beiträge erst jetzt gelsene.

Danke für die Tips...
Habe die Datei mit der Dispose funktion schlicht und ergreifend übersehen.

No Risk, No Fun