Grafikus C# – Windows Forms tanfolyam › 1.1 lecke Windows Forms · 1.1 lecke · önálló gyakorlás A 0. fejezetben megismerted a Visual Studio ablakait és a projekt fájljait. Most önállóan készíted el az első saját ablakodat: egy gombot és egy feliratot, amely a gombnyomásra megváltozik. Közben végig gyakorlod, amit eddig tanultál.Első Windows Forms projekt – Designer és Form

A lecke végére
- önállóan létrehozol egy Windows Forms projektet;
- elhelyezel egy gombot és egy feliratot, és beszédes nevet adsz nekik;
- megírod az első eseménykezelődet, amely a feliratot módosítja;
- érted a
(Name)és aTextkülönbségét; - a névelőtagokat (btn, lbl, txt…) tudatosan használod;
- felismered és javítod az első leggyakoribb hibákat.
Mielőtt elkezded
Ehhez a leckéhez a 0. fejezet leckéire támaszkodunk. Ha elakadsz, a megfelelő rész ott részletesebben le van írva.
Hozd létre a projektet
Ezt a lépéssort a 0. fejezetben már részletesen megnézted. Itt röviden összefoglaljuk, hogy önállóan végig tudd csinálni:
- Nyisd meg a Visual Studiót, és a nyitóképernyőn válaszd a Create a new project lehetőséget.
- Keresd meg a Windows Forms App (.NET Framework) sablont (C# nyelvvel), és kattints a Next gombra. A választásról a 0.4 leckében olvashattál, bármelyik sablon jó.
- A projekt neve legyen
ElsoAblakom. Ha a Visual Studio kínálja, a keretrendszer legyen .NET Framework 4.7.2, majd kattints a Create gombra. - Megnyílik a tervező az üres
Form1ablakkal. Ha nem látod, a Solution Explorerben jobb gombbal kattints aForm1.csfájlra, és válaszd a View Designer pontot.
Te jössz!
Hozd létre a projektet, majd nyomd meg az F5 billentyűt: egy üres ablaknak kell megjelennie. Zárd be, és térj vissza a Visual Studióba.
Ismerkedj meg a felülettel
A megnyitott projekt így néz ki. A nyilak a tervező legfontosabb részeit jelölik:
Ezeket a paneleket a 0.6 leckében részletesen megismerted. Ha egy panel eltűnt, a View menüben visszahozhatod.
Egy gomb, egy felirat és a nevük
Építsd fel a felületet:
- View → Toolbox (
Ctrl+Alt+X), majd húzz egyLabel-t és egyButton-t az ablakra. - Kattints a gombra, és az
F4billentyűvel nyisd meg a Properties ablakot. A(Name)legyenbtnKoszones, aTextpedigKöszönés. - A feliratnál a
(Name)legyenlblUzenet, aTextpedigKezdésre kész.
btn a Button rövidítése, a Koszones a szerepe.lbl a Label rövidítése, az Uzenet a szerepe.Miért rövidítjük az előtagokat?
Az előtagból azonnal látod a vezérlő típusát. A leggyakoribbak: btn (Button), lbl (Label), txt (TextBox), cmb (ComboBox), chk (CheckBox), lst (ListBox), rtb (RichTextBox). Az előtagok nem kötelező C# szabályok, csak szokások, amelyek olvashatóbbá teszik a kódot.
Mit tegyél ide: a tervező nézet a kész felülettel: az ablakban egy „Kezdésre kész” felirat és egy „Köszönés” gomb. Mellette a Properties ablak, amelyben a gomb (Name) mezője btnKoszones.Javasolt fájlnév: winforms-1-1-gomb-es-felirat.webp · Alt szöveg: A tervezőben egy gomb és egy felirat, a Properties ablakban a beállított nevekkel
Pontosan ugyanazt a nevet írd!
A kódban a (Name) tulajdonságban megadott nevet használod. Ha a Properties ablakban btnKoszones a név, a kódban is pontosan így kell írnod, kis- és nagybetűre is figyelve.
Az első eseménykezelő
Kattints duplán a gombra: a Visual Studio létrehozza a btnKoszones_Click eseménykezelőt, és megnyitja a kódnézetet. A kapcsos zárójelek közé írd be az alábbi sort:
private void btnKoszones_Click(object sender, EventArgs e)
{
lblUzenet.Text = "Szia! Ez az első ablakom.";
}Jósolj!
Elindítod a programot (F5). Mit mutat a felirat a gomb megnyomása előtt? És utána?
Jóslat ellenőrzése
Előtte a Kezdésre kész szöveget, utána az Szia! Ez az első ablakom. szöveget. Az eseménykezelő csak a kattintáskor fut le.
Mit tegyél ide: két egymás utáni kép a futó programról: gombnyomás előtt („Kezdésre kész”) és után („Szia! Ez az első ablakom.”).Javasolt fájlnév: winforms-1-1-elso-ablak-fut.webp · Alt szöveg: Az első Windows Forms program a gombnyomás előtt és után
Hibakeresés: te vagy a hibadetektív
Mi a baj, és hogyan javítod?
Gondold végig az okot, és csak utána nyisd le a megoldást.
1. A gomb felirata változik a felirat helyett
btnKoszones.Text = "Szia! Ez az első ablakom.";Ok és javítás
Rossz működés: a kód a gomb feliratát módosítja, nem a címkéét. A btnKoszones a gomb, a lblUzenet a felirat. Javítás: lblUzenet.Text = "...";
2. Ismeretlen név
lblUzenet.Text = "Szia!";
// CS0103: The name 'lblUzenet' does not exist in the current contextOk és javítás
Fordítási hiba (CS0103): a felirat (Name) tulajdonsága még az alapértelmezett label1. Írd át a Properties ablakban lblUzenet-re, vagy használd a kódban a valódi nevet.
3. Hiányzó idézőjel
lblUzenet.Text = Szia!;Ok és javítás
Fordítási hiba: a szöveget idézőjelek közé kell tenni, különben a C# változónévnek hiszi. Helyesen: lblUzenet.Text = "Szia!";
4. Hiányzó pontosvessző
lblUzenet.Text = "Szia!"
// CS1002: ; expectedOk és javítás
Fordítási hiba (CS1002): a sor végéről hiányzik a pontosvessző. Tedd ki: lblUzenet.Text = "Szia!";
5. Nem történik semmi kattintásra
A gombra kattintasz, de a felirat nem változik. Valószínűleg az eseménykezelőt kézzel gépelted be, ezért nincs összekötve a gombbal. Töröld, és generáltasd újra a gombra való dupla kattintással, vagy az Events nézetben (villám) válaszd ki a Click sornál.Ok és javítás
Három önálló gyakorlófeladat
Egyszerre csak egyet csinálj: tervezd meg, írd meg, futtasd, ellenőrizd, és csak utána nyisd ki a megoldást.
1. Változtasd meg a felirat szövegét
Gombnyomásra az Üdv a C# világában! szöveg jelenjen meg.Egy lehetséges megoldás
lblUzenet.Text = "Üdv a C# világában!";
2. A Name és a Text különbsége
Állítsd a gomb Igen, működik. A Text tulajdonságát Indítás-ra, a nevét hagyd btnKoszones-nak. Működik még a program? Miért?Egy lehetséges megoldás
Text csak a látható felirat, a kód a (Name) tulajdonságra hivatkozik. Az eseménykezelő neve (btnKoszones_Click) sem változik a felirat átírásától.
3. Két gombos mini alkalmazás
Készíts új projektet két gombbal és egy felirattal (lblSzoveg). Az egyik gomb (btnSzepNap) a Szép napot! szöveget, a másik (btnTanulas) a Jó tanulást! szöveget írja ki.Egy lehetséges megoldás
private void btnSzepNap_Click(object sender, EventArgs e)
{
lblSzoveg.Text = "Szép napot!";
}
private void btnTanulas_Click(object sender, EventArgs e)
{
lblSzoveg.Text = "Jó tanulást!";
}
4. Kihívás: színes felirat
A gombnyomásra a felirat színe is legyen piros. A Egy lehetséges megoldás
lblUzenet.ForeColor = Color.Red;ForeColor a betűszín. Ha a Color alá hullámvonal kerül, add a fájl elejéhez a using System.Drawing; sort.
Gyakorlótár: 6 további feladat
Három szinten gyakorolhatsz: alap, közepes és kihívás. Mindegyiket próbáld ki a gépen, és csak utána nyisd le a megoldást.
Alap szint
1. A Form felirata és mérete
Állítsd a Form címsorát Első programom szövegre, és a méretét 400 × 300 képpontra. Mit használsz hozzá? Jelöld ki a Formot a tervezőben, és a Properties ablakban állítsd: Megoldás megnyitása
Text = Első programom, Size = 400, 300. Az átméretezést a Form szélének húzásával is elvégezheted, a Size érték ilyenkor magától változik.
2. Középre induló ablak
Az ablak a képernyő közepén jelenjen meg indításkor. Melyik tulajdonságot állítod, és mire? A Form Megoldás megnyitása
StartPosition tulajdonságát állítsd CenterScreen értékre. Az alapértelmezett WindowsDefaultLocation a Windowsra bízza az ablak helyét, ezért máshol jelenhet meg.
Közepes szint
3. Fix méretű, színes ablak
Készíts világossárga hátterű ablakot, amelynek nem lehet átméretezni, és nincs maximalizáló gombja.Megoldás megnyitása
BackColor = LightYellow, FormBorderStyle = FixedDialog (a szél nem húzható), MaximizeBox = False. A FixedDialog külön a minimalizálás gombot is eltűnteti, ha a MinimizeBox is False.
4. Beállítás kódból
A Form címsorát és háttérszínét az ablak betöltésekor, kódból állítsd be (cím: Kódból beállítva, háttér: Hozz létre a LightBlue).Megoldás megnyitása
Form1-hez egy Load eseménykezelőt (Properties → villám → Load dupla kattintás). A this az aktuális Formot jelenti. Ha a Color piros hullámvonallal jelenik meg, add hozzá a fájl elejére a using System.Drawing; sort.private void Form1_Load(object sender, EventArgs e)
{
this.Text = "Kódból beállítva";
this.BackColor = Color.LightBlue;
}
Kihívás szint
5. Címke kódból
Hozz létre kódból egy feliratot (Label) a Form A vezérlők is csak objektumok: létrehozod (Load eseményében: szöveg Ezt a kód hozta létre, a bal felső saroktól 20–20 képpontra.Megoldás megnyitása
new Label()), beállítod a tulajdonságait, majd a Form Controls gyűjteményéhez adod. Enélkül a felirat nem jelenik meg.private void Form1_Load(object sender, EventArgs e)
{
Label felirat = new Label();
felirat.Text = "Ezt a kód hozta létre";
felirat.AutoSize = true;
felirat.Location = new Point(20, 20);
this.Controls.Add(felirat);
}
6. Névjegykártya-ablak
Tervezz egy névjegykártya-ablakot: a neved, az osztályod és egy kedvenc mondatod három külön feliraton. Legyen beszédes a Form címe és minden elem neve. Form: Megoldás megnyitása
Text = Névjegykártya, StartPosition = CenterScreen. Három Label: lblNev (nagyobb, félkövér betű a Font tulajdonsággal), lblOsztaly, lblMondat. Rendezd őket egymás alá, a bal szélek igazodjanak (a tervezőben a vezérlőket kijelölve, a Format menü Align parancsaival), és a színeket állítsd be a ForeColor tulajdonsággal. Futtasd az F5-tel, és nézd meg, hogy nem lóg-e ki a szöveg az ablakból.
Gyors önellenőrzés
Próbáld meg a választ fejben megadni, és csak utána nyisd le. A vezérlők gyűjteménye: innen húzod az ablakra a gombokat, feliratokat és beviteli mezőket. A (Name) a vezérlő neve a kódban, a Text a felhasználónak látható felirat. A A Csak akkor, amikor a felhasználó rákattint a gombra.1. Mire való a Toolbox?
2. Mi a különbség a (Name) és a Text között?
3. Melyik fájlban szokás eseménykezelőt írni?
Form1.cs fájlban. A Form1.Designer.cs a Visual Studio generált kódját tartalmazza.4. Mit jelent a btn és az lbl előtag?
btn a Button (gomb), az lbl a Label (felirat) rövidítése. Az előtagok szokások, nem kötelező szabályok.5. Mikor fut le a gomb eseménykezelője?
Mit tudsz már?
- Önállóan létrehozol egy Windows Forms projektet.
- Gombot és feliratot helyezel el, és beszédes nevet adsz nekik.
- Megírod az első eseménykezelődet.
- Érted a (Name) és a Text különbségét.
- Felismered az első gyakori hibákat.
Következő lecke: TextBox, Button, Label és MessageBox
Akkor haladj tovább, ha az első feladatot segítség nélkül újra meg tudod írni. A következő leckében adatot kérünk be a felhasználótól.





