C# - Saját dialóg ablak megjelenítése

forráskód letöltése
Ebben a cikkben annak járunk utána, hogy miként jeleníthetünk meg egy Form-ból egy másikat. Fény derül arra is, hogy miként különböztethetjük meg ennek a második Form-nak a bezárási okát. Ilyen lehet például az a kérdés, hogy az OK, vagy a Mégsem gombbal lépett-e ki a felhasználó.
A megoldáshoz egy új Windows Form project létrehozása után szükségünk lesz még egy új Form létrehozására is.
Ehhez a Project – Add Windows Form menüpontot válasszuk, majd a megjelenő ablakban a Local Project Items-ből a Windows Form-ot. Ekkor létrejön egy új Form, melyre a mellékelt példában két nyomógombot helyezünk. Az egyik lesz az Ok, míg a másik a Mégsem gomb. Mindkettőhöz létrehozunk egy OnClick eseményt, melyeknél a Close függvény hívásával bezárjuk a Form-ot. Hogy mégis megkülönböztethető legyen majd, hogy melyik gomb lett lenyomva még egy lépésre szükségünk lesz. A nyomógombok DialogResult property-énél ki kell választanunk a megfelelő értéket.
Az első Form-nál egyetlen gombot találunk, erre kattintva jelenítjük meg a másodikat. Ehhez első lépésként létrehozunk egy példányt a Form2-ből, majd a ShowModal függvényhívással megjelenítjük azt. Amikor a felhasználó bezárja a Form2-t, akkor folytatódik itt a programunk futása, így ekkor vizsgálhatjuk a Form2 DialogResult property-ének értékét, mely az adott nyomógombhoz beállított értéket fogja tartalmazni.
      protected void button1_Click (object sender, System.EventArgs e)
      {
        Form2 form2 = new Form2();
        form2.ShowDialog();
        if (form2.DialogResult == DialogResult.OK)
        {
          MessageBox.Show("OK");
        } 
        else 
        {
          MessageBox.Show("Mégsem");
        }
      }