Mellékelt példában három Form-ot készítünk: a Form1-en két nyomógombot helyezünk el, melyekkel megjeleníthetjük a From2-t és Form3-at. A Form2 lesz az őse a Form3-nak, így ami a Form2-n megtalálható az öröklődik a Form3-ra is.
Ahhoz, hogy egy Form-ot egy másikból származtassunk, először is szükségünk van az ős Form létrehozására. Ha ez megtörtént, akkor válasszuk Project - Add inherited Form menüpontot.
A megjelenő ablakban az Inherited Form lesz a kijelölt elem, így kattintsunk az Open gombra.
Ekkor ismét egy ablak jelenik meg, melyben egy listát kapunk. Ebben a listában az alkalmazásunkban lévő Form-ok lesznek felsorolva. Most ezek közül kell kiválasztanunk azt, amelyikből szeretnénk egy újat származtatni. Az OK gomb lenyomásakor létrejön egy új Form, mely tartalmazza mindazt, amely már az ős Form-on megtalálható.
A mellékelt példában a Form2-n elhelyeztünk egy Button, CheckBox és TextBox kontrol-t, melyhez az egyszerűség kedvéért kódot nem rendeltünk. Amikor a Form2-ből leszármaztatjuk a Form3-at, akkor ezek a kontrolok a Form3-on rögtön megtalálhatók lesznek, így oda már csak azt kell felvennünk, amire ott szükségünk van.
A leszármazott Form-on az ős Form kontroljainak tulajdonságát nem tudjuk megváltoztatni, azok csak olvashatóként működnek. Ha mégis változtatásra lenne szükségünk, akkor vissza kell térnünk az ős Form-hoz és ott elvégezni azt. Ekkor az összes leszármazott Form módosulni fog. Igaz ez arra az esetre is, ha bővítjük a későbbiek folyamán az ős Form-ot, mert egy olyan új funkcióra van szükségünk, melynek meg kell jelennie minden leszármazott Form-on is.
A Form2-re elhelyezünk még egy Label-t, melynek az lesz a funkciója, hogy jelezze azt, hogy melyik Form lett felhasználva. Így ennek felirata hol Form2, hol Form3-ra kell hogy változzon. Mivel a Label a Form2-n van, így csak ezen belül férhetünk hozzá. Emiatt létrehozunk egy property-t ShowName névvel, mely megvalósítja azt, hogy a Label Text property-jének értéket adhassunk.
protected string ShowName
{
set
{
label1.Text = value;
}
}
Így már csak annyi a teendőnk, hogy a Form2 konstruktorában értékül adjuk neki az adott példány nevét.
public Form2()
{
ShowName = this.Name;
}
Ugyanez a teendőnk a Form3 konstruktoránál is. Mivel a ShowName property is öröklődött, így ezt gond nélkül megtehetjük.
public Form3()
{
ShowName = this.Name;
}
Ezzel a módszerrel elértük azt, hogy egy olyan objektumnak a tulajdonságát befolyásoltuk egy leszármaztatott osztályban, mely az ős osztályhoz tartozik.