[C#] Klassen / Controls dynamisch während der Laufzeit per string erstellen

Drucken
( 1 Vote )
Hauptkategorie: Programmieren Kategorie: C#
Erstellt am 02.12.2011 Zuletzt aktualisiert am 03.02.2012 Geschrieben von Jonny132
Will man zur Laufzeit dynamisch Controls erstellen deren Namen man zur Designzeit noch nicht kennt, stellt das .NET Framework Reflection zur Verfügung. Hier ein Beispiel wie man einfach ein UserControl erstellt und es in einem ContainerControl anzeigen lässt.

Dynamische generierung von Controls per Reflection

UserControl uc = (UserControl)Assembly.GetExecutingAssembly().CreateInstance(
          this.GetType().Namespace + "." + NameDesUserControls, true );
 
uc.Dock = DockStyle.Fill;
uc.Location = new System.Drawing.Point( 0, 0 );
uc.Name = NameDesUserControls;
uc.Size = new System.Drawing.Size( 10, 10 );
uc.TabIndex = 0;
 
this.panUCs.Controls.Add(uc);


Das ist alles was Sie benötigen. Natürlich fehlt eine gültige Fehlerbehandlung (try-catch), falls es das UC nicht gibt.
Genau gleich verhält es sich wenn Sie einfache Klassen instanzieren wollen.

 

 

    Veröffentlichen Sie ihre Kommentare ...