C# – Dialógus ablak készítése

C# – Dialógus ablak készítése

Én kimondottam utálom, ha egy szoftver használata során az többször is megkérdőjelezi döntésem: “Biztosan törölni akarod?” – “De tényleg biztos vagy benne?” – “Egészen biztos vagy?”, de ez is része minden felhasználóbarát alkalmazásnak… Kapcsolódó bejegyzések: Prezentációk készítése a weben Fájlok futtatása/megnyitása Firefoxban Vista tippek: a User Access Control kikapcsolása

Én kimondottam utálom, ha egy szoftver használata során az többször is megkérdőjelezi döntésem: “Biztosan törölni akarod?” – “De tényleg biztos vagy benne?” – “Egészen biztos vagy?”, de ez is része minden felhasználóbarát alkalmazásnak…

C# programozási nyelvben dialógus ablakokat a MessageBox objektum segítségével, pontosabban a Show() függvénnyel lehet létrehozni. Ha csupán egy egyszerű hibaüzenetet szeretnénk egy OK gombbal:

MessageBox.Show("Nincs törölhető bejegyzés!", "Hiba!");

Az első paraméter a dobozban megjelenő szöveg, a második pedig a doboz címe. Alapértelmezett esetben az OK gomb jelenik meg, mely lenyomására eltűnik a dialógus ablak, így azt nem kell beállítani.

dialogus_ablak

Rendben, ez működik, azonban nem mindig lesz elég egy ilyen egyszerű dialógus ablak. Lehet, hogy kérdezni akarunk valamit a felhasználótól, igen vagy nem választ várva. Ilyen esetben sem vagyunk bajban, csupán módosítani kell a Show() függvény paramétereit:

MessageBox.Show("Biztosan törölni szeretné?", "Törlés", MessageBoxButtons.OKCancel);

Láthatjuk, hogy nagyjából ugyanaz a parancs, mint az előző dialógus ablak létrehozásánál, annyi különbséggel, hogy itt megadtuk harmadik paraméterként a gombok típusát: egy OK és egy Cancel gomb fog megjelenni:

dialogus_ablak_ok_cancel

Itt vizsgálni is szeretnénk, hogy a felhasználó melyik gombra kattintott. Szerintem a legegyszerűbb, ha azt vizsgáljuk, hogy a Cancel gombra kattintott-e és ha igen, akkor kilépünk a függvényből, ellenkező esetben hagyjuk futni:


if (MessageBox.Show("Biztosan törölni szeretné?", "Törlés", MessageBoxButtons.OKCancel) == DialogResult.Cancel)
{
return;
}



Leave a Reply

A kötelező mezőket * jelöli.