C# - Kontrol létrehozása futási időben

forráskód letöltése
Egy-egy Form-ra a programunk futása közben is képesek vagyunk új komponenseket létrehozni, megjeleníteni. Így például egyszerűen létrehozhatunk és megjeleníthetünk egy textBox komponenst, amint az a mellékelt példában látható is. Természetesen nem csak textBox-ot, hanem bármely más komponenst feltehetünk ezzel a módszerrel a Form-ra futás közben.
A megoldás első lépése természetesen az kell hogy legyen, hogy létrehozunk egy új példányt abból a komponensből, melyet szeretnénk megjeleníteni. Második lépésként célszerű még megadni ennek az új komponensnek a pozícióját. Ehhez a Location property-nek kell értéket adnunk létrehozva egy új Point struktúrát, mely meghatározza a komponensünk bal szélét és a tetejét a Form-hoz képest. Ezt mellékelt példában úgy állítjuk be, hogy pont a nyomógomb alá kerüljön.
Végső lépésként már csak az marad hátra, hogy feltegyük a Form-ra az új komponenst. Ehhez a Form-unk Controls osztály Add függvényét használhatjuk fel, melynek paraméterként kell átadnunk az új komponensünk változóját.
      protected void button1_Click (object sender, System.EventArgs e)
      {
        TextBox tb = new TextBox();
        tb.Location = new Point(button1.Left, button1.Height + button1.Top + 10);
        Controls.Add(tb);
      }