Alle Beiträge und Antworten
Bakachan - 18.02.2008, 13:46
C# FormClosingEvent in anderer Form
C#
Ich müsste irgendwie das FormClosingEvent einer Form2 in einer anderen Form1 erhalten und da dann eine Methode ausführen ich weiss das muss über delegates funktionieren aber wie genau?
ich habe zwar nen delegate benutzt und auch an das event angemeldet aber irgendwie funktioniert es nicht er springt nichtmal in die methode
jemand ne idee?
Itchigo - 18.02.2008, 13:48
Fokus auf die 2. Form gesetzt?
Bakachan - 18.02.2008, 13:48
der fokuss macht da keinen unterschied ... es geht ja darum das Form 1 merkt wenn Form2 geschlossen wird.
Itchigo - 18.02.2008, 15:04
Achso, dann mach dir doch ne Abfrage oder so.
Wenn Form 2 geschlossen wird, dann setz varForm2closed = True
Dann kannste auslesen ob die Form2 geschlossen wurde
Bakachan - 18.02.2008, 15:05
ich könnte abfragen ob sie schon geschlossen ist ja ... aber ich will ja genau in dem moment wo sie geschlossen wird die info haben ... und wie gesagt das geht über delegaten aber ich kenn mich mit delegaten nit gut genug aus >.< ... womit wir wieder am anfang wären
Zitat: ich habe zwar nen delegate benutzt und auch an das event angemeldet aber irgendwie funktioniert es nicht er springt nichtmal in die methode
Itchigo - 18.02.2008, 15:26
achsooo ^^
Am besten ich antworte nur noch wenns um Serverumgebungen und
entsprechende Kühlungen geht xD
Da kenn ich auch genügend Methoden, das dir ne Meldung erscheint, wenn
Server 2 geschlossen wird. ;)
Vendragor - 18.02.2008, 15:40
Aber wieso ne Info, wenn sie geschlossen ist? Das sieht man doch. :P Sehen = Signal Und wenn Du das Signal verstehst haste Deine Information. That's communication. ^^
Spass beisetie:
Is zwar nicht die schönste Variante aber schonmal an ne Wdh gedacht, die immer wieder abfragt ob Form2 auf ist -> Abbruch wenn Form2 nicht mehr auf und dann eben deine nächste Funktion.
Oder eben über den close-btn in form2 nicht nur schließen sondern gleich noch mit die Funktion in form1 ausführen. Wenn Du die beiden gegeseitig included hast, sollte das ja gehen (wirst ja mit C# arbeiten, ne!? bei c++ gehts).
Bakachan - 18.02.2008, 15:45
Naja Vendra deine Varianten funktionieren zwar aber mit Wdh gehts extrem auf die Leistung (und da ich sowieso schon mit einigen tausend datensätzen arbeite wollt ich da nich noch mehr riskieren)
und von form2 in das "ParenForm" eingreifen ist zwar möglich aber sehr unsauber und somit wird mein Chef dann eh sagen ''machs über delegates'' >.< nja ok ich such mal weiter im i-net nach beispielcode für formübergreifende delegates
Vendragor - 18.02.2008, 15:50
Naja, wie gesagt is nicht schön aber funktioniert. Aber was habt ihr gegen das eingreifen von Subform auf Mainform? Wo is'n da das Problem?
Itchigo - 18.02.2008, 15:58
sieht nicht schön aus ;)
Manche Programmier haben was dagegen... Kann da aus der Berufschule nen
Lied singen... Bieber.... ;)
Bakachan - 18.02.2008, 16:03
Soweit ich das gelernt hab darf in der Programmhierarchie nur ein obergeordnetes Elemt auf ein untergeordnetes Element zugreifen und nicht andersrum.
Is halt ne Vorgabe von meiner Firma >.<
Itchigo - 18.02.2008, 16:06
Bakachan hat folgendes geschrieben: Soweit ich das gelernt hab darf in der Programmhierarchie nur ein obergeordnetes Elemt auf ein untergeordnetes Element zugreifen und nicht andersrum.
Is halt ne Vorgabe von meiner Firma >.<
Immer diese Ordnungsfanatiker xDDDDD
Aber stimmt schon. So kann man den Quellcode im Endeffekt besser
verstehen.
Vendragor - 18.02.2008, 16:12
mmmh, is schon was logisches dran. Und sichererer dürfte es auch sein im Zweifelsfall.
Bakachan - 19.02.2008, 09:05
habs mit delegaten hingekriegt trick bei der sache war nur das der eventhandler global und nicht klassenintern deklariert werden musste
Mit folgendem Code, können Sie den Beitrag ganz bequem auf ihrer Homepage verlinken