Benutzer mit den meisten Antworten
Zugriff auf andere Fenster

Frage
-
Hi Forum,
ich habe ein Fenster, aus dem ich bis zu 3 andere Fenster starten kann (mdiparent). Die 3 Fenster sind einem PulDownMenue zur Auswahl gespeichert. Haben als nicht immer die gleichen Namen (z.b. Import,Export,Tabelle,Kst,Excel,Word...)
Nun mache ich in den 3 Fenstern entsprechende Einträge in Grids, Checkboxen, Textboxen, ... Nachdem alle Einträge angepasst sind möcht ich diese über das eigentliche Startfenster abfragen und speichern.
Wie kann ich auf die Grids, Tabellen und TextBoxen in den anderen Fenstern zugriefen ? Name der Fenster sind in einer Tabelle verfügbar.
Gruß Roland
Antworten
-
Hallo Roland,
wenn Du mit MDI Formularen arbeitest, so kannst Du auf die aktuell geöffneten Fenster
über die Form.MdiChildren-Eigenschaft zugreifen.
Umgekehrt kann jedes Kindfenster über MdiParent seinen Besitzer erfahren.
Mehr siehe u. a.: MDI-Anwendungen (Multiple Document Interface)Verwendest Du eigenständige Fenster ginge entsprechendes über die Application.OpenForms-Eigenschaft
Da man dazu jeweils den Typ des Fensters genau kennen muss, ist das eher ein suboptimale Lösung,
bei der man bei jeder Änderung an (mindestens) zwei Stellen ändern muss.Sinnvoller ist eine Benachrichtigung über Ereignisse, die die Fenster bei Eigenschaftsänderungen usw. versenden
und auf die wiederum das Hauptformular oder andere interessierte Klassen reagieren können.
So arbeiten die Windows Forms z. B. bei der Datenbindung auch.Gruß Elmar
- Als Antwort markiert Thorsten Dörfler Mittwoch, 8. Juni 2011 11:18
Alle Antworten
-
-
Hallo Roland,
wenn Du mit MDI Formularen arbeitest, so kannst Du auf die aktuell geöffneten Fenster
über die Form.MdiChildren-Eigenschaft zugreifen.
Umgekehrt kann jedes Kindfenster über MdiParent seinen Besitzer erfahren.
Mehr siehe u. a.: MDI-Anwendungen (Multiple Document Interface)Verwendest Du eigenständige Fenster ginge entsprechendes über die Application.OpenForms-Eigenschaft
Da man dazu jeweils den Typ des Fensters genau kennen muss, ist das eher ein suboptimale Lösung,
bei der man bei jeder Änderung an (mindestens) zwei Stellen ändern muss.Sinnvoller ist eine Benachrichtigung über Ereignisse, die die Fenster bei Eigenschaftsänderungen usw. versenden
und auf die wiederum das Hauptformular oder andere interessierte Klassen reagieren können.
So arbeiten die Windows Forms z. B. bei der Datenbindung auch.Gruß Elmar
- Als Antwort markiert Thorsten Dörfler Mittwoch, 8. Juni 2011 11:18