tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
5
ZUGRIFFE
286
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    rise6mi rise6mi ist offline Mitglied
    Registriert seit
    Jul 2008
    Beiträge
    13
    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
     

  2. #2
    Konstantin Denerz Tutorials.de Gastzugang
    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?

    Code csharp:
    1
    2
    
    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
     

  3. #3
    rise6mi rise6mi ist offline Mitglied
    Registriert seit
    Jul 2008
    Beiträge
    13
    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"
     

  4. #4
    Konstantin Denerz Tutorials.de Gastzugang
    Naja, die heißen nicht umsonst anonyme Objekte.
    Aber das Objekt wird ja irgendwo als Zustand gehalten. Kannst du nicht etwas mehr Code bereitstellen?
     

  5. #5
    Avatar von Norbert Eder
    Norbert Eder Norbert Eder ist offline Mitglied Diamant
    Registriert seit
    Feb 2004
    Ort
    Österreich / Graz
    Beiträge
    5.137
    Blog-Einträge
    51
    Zitat Zitat von rise6mi Beitrag anzeigen
    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).
     

  6. #6
    rise6mi rise6mi ist offline Mitglied
    Registriert seit
    Jul 2008
    Beiträge
    13
    sehr gut,
    das war mein problem.
    vielen dank!
     

Ähnliche Themen

  1. Frage zum Verständnis von Funktionen
    Von atlantyz im Forum PHP
    Antworten: 8
    Letzter Beitrag: 24.09.08, 14:12
  2. Verständnis Frage...
    Von Radhad im Forum CSS
    Antworten: 3
    Letzter Beitrag: 18.10.06, 17:10
  3. Sessions Verständnis Frage [z.B. Login]
    Von versuch13 im Forum PHP
    Antworten: 2
    Letzter Beitrag: 08.09.06, 00:24
  4. PHP -> MySQL Abfrage -> Frage zum Verständnis
    Von Thomas Lindner im Forum PHP
    Antworten: 2
    Letzter Beitrag: 08.03.06, 17:38
  5. Allgemeine verständnis Frage
    Von Meccan im Forum Photoshop
    Antworten: 4
    Letzter Beitrag: 07.06.05, 14:32