A saját formok megjelenítésénél két lehetőség között választhatunk. A Show() metódus megjeleníti a formot, a visible tulajdonságának true-ra állításával. A form megjelenik, de nem birtokolja a fokuszt kizárólagosan, hanem akár más form, akár a hívó form újra aktivizálható. Így ha nem ellenőrizzük programból, akár több ugyanolyan form is megjeleníthető. Erre látunk egy példát az következő képen.
A példaprogramban a ’Nem modális’ gombra kattintva érhetjük ezt el.
frmKetto frmK = new frmKetto();
frmK.Show();
Példányosítás után megjelenítjük a formunkat.
Ha a másik lehetőséget választjuk, akkor a ShowModal() metódust kell használnunk. Ekkor a formunk egy dialógus boxként jelenik meg, amelyik kizárolagosan birtokolja a fókuszt.
Nem aktiválhatjuk az őt hívó formot, vagy más, a programohoz tartozó, és látható formot sem. Ennek a metódusnak van visszatérési értéke, ami egy DialogResult példány. Ennek felhasználásával kiértékelhetjük, hogy melyik nyomógomb segítségével zárta be az ablakot a felhasználó.
A megjelenítésre példa, ha a ’Modális’ gombra kattintunk.
frmKetto frmK = new frmKetto();
frmK.ShowDialog();
Ha szeretnénk használni a kiértékelés adta lehetőséget is, akkor a megjelenő formon lévő gombok tulajdonságai közül a DialogResult értéket állítsuk be a nekünk megfelelőre, majd a hívó helyen a megjelenítés köré szervezzünk egy vizsgálatot.
frmKetto frmK = new frmKetto();
DialogResult dr = new DialogResult();
dr = frmK.ShowDialog(this);
if (dr == DialogResult.Cancel)
MessageBox.Show("Mégse gombbal zártad" ,"fejléc" ,MessageBoxButtons.OK);
else
if (dr == DialogResult.OK)
MessageBox.Show("Rendben gombbal zártad","fejléc",MessageBoxButtons.OK);