Laden...

Form zur Laufzeit laden

Erstellt von kat_2403 vor 16 Jahren Letzter Beitrag vor 16 Jahren 1.650 Views
K
kat_2403 Themenstarter:in
236 Beiträge seit 2007
vor 16 Jahren
Form zur Laufzeit laden

Hallo zusammen,

ich habe mir ein Formular gebaut, das hat einfach nur ein DataGrid und ein paar Buttons (hinzufügen, bearbeiten, löschen).

Ich möchte in meiner Anwendung Kunden, Artikel, Mitarbeiter etc. in diesem EINEM Hauptformular anzeigen lassen.
Je nachdem: bei Klick auf Mitarbeiter: übergebe ich eine Mitarbeiterliste an die Form, bei Klick auf Kunden, übergebe ich eine Kundenliste an die Form....
Bis hier ist alles in Ordnung.

Jetzt brauche ich pro Objekt ja eine Detailansicht ... MitarbeiterDetail, Kundendetail, also habe ich hier für jedes Objekt eine Form gebaut.

Wie kriege ich nun aber eine Instanz des Formulars erzeugt?

Ich glaube mit Activator.CreateInstance(..) schieße ich mit Kanonen auf Spatzen.

Danke für jeden Tipp.
Katja

A
764 Beiträge seit 2007
vor 16 Jahren

Was spricht gegen MitarbeiterDetail md = new MitarbeiterDetail() ?

K
kat_2403 Themenstarter:in
236 Beiträge seit 2007
vor 16 Jahren

Hi,

hm, ok, ich hab mich wahrscheinlich blöde ausgedrückt.
Ich habe wie gesagt die eine Form als Container, die je nach Auswahl entweder eine Liste von Mitarbeitern, Kunden etc anzeigt.

Ich spezifiziere in dieser Form KEINE Klasse, also auch nicht new MitarbeiterDetail () oder oder ...
Das soll variable oder zur Laufzeit, je nach Objekttyp geladen werden.

Ich müsst eigentlich wahrscheinlich nur wissen,
wie ich im Konstruktor der Form noch eine Parameter hinzufüge, der mir den FormTyp spezifiziert, dann ginge des ja.
Danke.
Katja

2.187 Beiträge seit 2005
vor 16 Jahren

Das kannst du einem Konstruktor garnicht mitteilen, ein Konstruktor erzeugt immer von einer bestimmten Klasse eine Instanz.
Es ist aber möglich, dass du das Factory-Pattern / Fabrikmuster anwendest.

Gruß
Juy Juka

49.485 Beiträge seit 2005
vor 16 Jahren

Hallo kat_2403,

Ich glaube mit Activator.CreateInstance(..) schieße ich mit Kanonen auf Spatzen.

warum? Ist sicher eine der Möglichkeiten, die am wenigsten Code kostet.

herbivore

O
778 Beiträge seit 2007
vor 16 Jahren

Ich glaube mit Activator.CreateInstance(..) schieße ich mit Kanonen auf Spatzen.

solange das aber so performante Kanonen sind ist auch das kein Problem. Im Gegenteil, dann ist es auch kein Problem, wenn sich die Spatzen noch zu ausgewachsenen Raubvoegeln entwickeln... 🙂

K
kat_2403 Themenstarter:in
236 Beiträge seit 2007
vor 16 Jahren

Hi und danke,
dann schau ich, dass ich das via CreateInstance() instanziiere.
Katja