verständnis frage!

rise6mi

Grünschnabel
Guten Tag,
Mein Frage lautet:
Ich habe ein MDIParent angelegt und wenn ich auf NEW FILE in der Menüleiste klicke, öffnet er eine neues Form. der Code dazu Lautet

private void ShowNewForm(object sender, EventArg e)
{
Form1 childForm = new Form1();
childForm.MdiParent = this;
childForm.Text = "Form 1" + (childFormNumber++);
childForm.Show();
}
jetzt meine Frage:
wenn ich jetzt mehrmals auf den "NEW FILE" Button klicke, instanziert er dann immer mehr Objekt der Form1-Klasse, die alle den selben Namen haben (childForm)?

Wie kann ich auf ein instanziertes Objekt zugreifen, dass nicht benannt wurde?
z.B.
code:
Application.Run(new MDIParent1());
wie kann ich auf dieses Objekt zugreifen?

Grüße
 
Hallo,

du solltest deine Frage etwas anders formulieren. Was genau willst du denn machen? (Ist nicht ganz klar)
Wieso schreibst du deine Methode nicht um, so dass sie keine anonymen Objekte mehr erstellt?

C#:
Form mdiParent = new MDIParent1();
Application.Run(mdiParent );

Dann hälst du einfach deinen Zustand(mdiParent) an einem Objekt, wo du darauf zugreifen kannst.

Gruß Konstantin
 
also ist es nicht möglich auf unbenannte objekte zuzugreifen?
z.B. mit den Schlüsselwörtern "base" oder "this" oder die Eigenschaften "MDIParent" oder "ActiveMdiChild"
 
Naja, die heißen nicht umsonst anonyme Objekte.
Aber das Objekt wird ja irgendwo als Zustand gehalten. Kannst du nicht etwas mehr Code bereitstellen?
 
Guten Tag,

Wie kann ich auf ein instanziertes Objekt zugreifen, dass nicht benannt wurde?
z.B.
code:
Application.Run(new MDIParent1());
wie kann ich auf dieses Objekt zugreifen?

Du vermischt hier Birnen mit Äpfel. Du sagtest, du erstellst MDI-Child-Forms. Das hat ja mit der Instanzierung der Parent-Form nichts zu tun. Denn innerhalb der Parent-Form kannst du diese ohnehin mit this ansprechen.

Die geöffneten MDI-Children bekommst du über Application.OpenForms geliefert. Dabei handelt es sich um eine FormsCollection, die alle Formulare deiner Anwendung inkludiert (auch das Parent-Window, kann aber mit einer Überprüfung der Eigenschaft IsMdiChild ausgeklammert werden).
 

Neue Beiträge

Zurück