Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Host von Control ermittlen
JunkyXL
myCSharp.de - Experte

Avatar #avatar-3234.gif


Dabei seit:
Beiträge: 1.665
Herkunft: Ein paar Bytes südlich von string

Themenstarter:

Host von Control ermittlen

beantworten | zitieren | melden

Hi,
ich habe einen Wizard als UserControl und dieser soll nach dem letzten Schritt die Form, die das UserControl hostet, schließen.
Nur wie ermittle ich den Host?
Habe

this.Handle.GetType();
genommen und versucht die Form zu instanzieren, aber das schlägt fehl.
private Nachricht | Beiträge des Benutzers
MarsStein
myCSharp.de - Experte

Avatar #avatar-3191.gif


Dabei seit:
Beiträge: 3.170
Herkunft: Trier -> München

beantworten | zitieren | melden

Hallo,
versuch malmit

this.TopLevelControl
Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca
private Nachricht | Beiträge des Benutzers
JunkyXL
myCSharp.de - Experte

Avatar #avatar-3234.gif


Dabei seit:
Beiträge: 1.665
Herkunft: Ein paar Bytes südlich von string

Themenstarter:

beantworten | zitieren | melden

Ne, damit erhalte ich die TopForm. Um genauer zu sein, es ist ein Mdi child was ich schließen möchte, und dieses erhalte ich ja auch durch:

Type type = this.Parent.GetType();
ConstructorInfo constructorInfo = type.GetConstructor(Type.EmptyTypes);
FormTest formInstance = (FormTest)constructorInfo.Invoke(null);
formInstance.Close();
nur Closed die Form nicht, obwohl genau diese ermittelt und instanziert wird.
private Nachricht | Beiträge des Benutzers
MarsStein
myCSharp.de - Experte

Avatar #avatar-3191.gif


Dabei seit:
Beiträge: 3.170
Herkunft: Trier -> München

beantworten | zitieren | melden

Erstellst Du da nicht eine zwiete Instanz von deinem Fenster und schließt die noch bevor Du si öffnest ??

Wenn TopLevelControl dein MDI-Parent ist, nimm doch einfach
TopLevelControl.ActiveMdiChild

Edit:
bzw wenn du this.Parent.GetType() benutzt, heißt das doch daß Parent in demFall Dein Fenster ist?

((FormTest)Parent).Close() wäre dann vielleicht eineVariante??
Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca
private Nachricht | Beiträge des Benutzers