Zusätzliche Controls zur Laufzeit

ratze79

Mitglied
Hallo ich habe zu dem oben genannten Thema noch eine Frage, gibt es eine Möglichkeit verschiede Steuerelementtypen zur Laufzeit zu erstellen.
Ich stelle mir das so vor. Die Daten stehen in einer Datenbank also Steueremelementtyp, Beschriftung, Reihenfolge...

Jetzt möchte ich die Klasse so schreiben, das egal welches Steuerelement ich aus der DB bekomme dieses angelegt wird.

Vielen Dank für eure Unterstützung.

Viele Grüße
Ratze
 

Spyke

Premium-User
Reflection wäre ein weg, aber finde ich ev. auch bissel übertrieben.
Um was für Controls geht es denn?

Ich würde eher, vereinfacht, sowas in der Form machen:
Code:
using(DbDataReader reader=GetReader())
{
  while(reader.read())
  {
    Control ctrl;
    switch(reader.GetString("Art"))
    {
     case "TBOX":
        ctrl = new TextBox();
        break;
     case "LB":
        ctrl = new Label();
        break;
    }
    ctrl.Location = reader.GetPoint("Location");
    ctrl.Size = reader.GetSize("Size");
    ctrl.Text = reader.GetString("Text");
    ctrl.Name = reader.GetString("Name");

    this.Controls.Add(ctrl);
  }
}
(Achtung, die reader Methoden sind nicht .Net Framework komform)

Spätestens wenn du auch noch auf ereignisse der controls reagieren willst, denke ich,
wäre von vornherein eine klare struktur mit fest definierten Typen eventuell besser.