Laden...

Host von Control ermittlen

Erstellt von JunkyXL vor 17 Jahren Letzter Beitrag vor 17 Jahren 1.098 Views
JunkyXL Themenstarter:in
1.665 Beiträge seit 2006
vor 17 Jahren
Host von Control ermittlen

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.

3.170 Beiträge seit 2006
vor 17 Jahren

Hallo,
versuch malmit

this.TopLevelControl

Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca

JunkyXL Themenstarter:in
1.665 Beiträge seit 2006
vor 17 Jahren

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.

3.170 Beiträge seit 2006
vor 17 Jahren

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