Ha az egér-kurzor ilyen:, akkor a szövegrész „kinyitható”; az aláhúzott szövegre kattintva annak leírását megjelenítheti! Egyéb pöttyözött szöveg súgást (hintet) tartalmaz.
E jobb oldali „kis ablakok” CTRL+R-rel újra láthatóvá tehető.
Ugrás ide:
1. feladat
2. feladat
3. feladat
Olvasmányok
Házi feladat
3. szemináriumi téma

Ablak alkalmazások (Forms App)

1. feladat – standard ablak-kellékek

A feladat szövege

Hozzunk létre egy ablak alkalmazást az alábbiak szerint:

  1. Cím elhelyezése az ablak tetejére, középen.
  2. Egy gomb a kilépéshez az ablak jobb alsó sarka közelében.
  3. Szöveges beviteli mező az inputhoz + kérdés szöveg + gomb a bevitel lezárásához.
  4. Felsorolás doboz egy választék-listából történő kiválasztáshoz.
  5. Egy kép a bevitel-kezelő szervek alatt a kilépés gombtól balra.
  6. Jelenjen meg egy üzenet (egy MessageBox-ban), ha bármelyik beviteli objektumra (gombra, felsorolt elemek valamelyikére) kattintanak.
WindowsFormsApplication1.exe futás közben.

Valami ilyesmire gondolok: töltse le és futtassa!

A feladat megoldása

Egy képet letölthet innen is: Husvet.jpg

Új fogalmak:

Vegye észre, hogy a FoForm.cs és a FoForm.Designer.cs ugyanabba a névtérbe tartozó ugyanazt az osztályt definiálják:

namespace RaszteresAbrakRajzolasa
{
    partial class frmFo
    ...

Tehát mindketten a form leírását tartalmazzák csak éppen két külön fájlban.
A FoForm.Designer.cs a kontrollok jellemzőit, míg a FoForm.cs az eseménykezelőket, ill. a tagváltozókat.

Kapcsolódó kérdések, feladatok:

(K1) Válaszoljon a kérdésekre:

(F1) Készítse el a formot úgy, hogy
a) méretezhető legyen, de a legkisebb méret esetén is minden látszódjon, ami az eredeti állapotában látszódott, és
b) minden rajta lévő kellék logikusan „vándoroljon”, amikor a felhasználó az ablak méretét változtatja!
Kulcs gondolat a b)-hez: „horgonyozza” az ablak megfelelő széléhez az egyes grafikus kellékeket!

(F2) Készítse el a formot úgy, hogy ne lehessen a méretét változtatni!

Kíváncsi az én megoldásomra?
Töltse le a forrás a. változatát és a hozzátartozó teljes projektet, vagy a forrás b. változatát és a hozzátartozó teljes projektet!




2. feladat – rajzolás vektorgrafikus elemekkel

A feladat szövege

Az ablak alkalmazás végezze a következőket:

  1. Az ablak rajzolásra kiválasztott része legyen négyzet alakú!
  2. Rajzoljon ki egy teljes ablaknyi piros keresztet (középen egymást metsző, függőleges és vízszintes szakasz)!
  3. Rajzoljon egy kitöltetlen négyzetet kékkel úgy, hogy az előbb kirajzolt kereszt túllógjon rajta mind a 4 oldalon 2-3 pixellel!
  4. Rajzoljon a négyzetbe egy akkora zöld kört, hogy 2-3 pixelnyi rés legyen a négyzet oldalai és a körvonal között.
WindowsFormsApp_Rajzolas1.exe futás közben.

Valami ilyesmire gondolok: töltse le és futtassa!
Ne lepődjön meg, ha ókor-ókor (mindjárt induláskor) feljön egy üzenetablak! Ez(ek) a „feljövetel(ek)” magyarázatul fog(nak) szolgálni valamire.

A feladat megoldása

Új fogalmak:

Kapcsolódó kérdések, feladatok:

(K2) Válaszoljon a kérdésekre:

Kíváncsi az én megoldásomra? Töltse le a forrást és a teljes projektet!




3. feladat – pixelgrafikus képek rajzolása

A feladat szövege

Hozzunk létre egy ablak alkalmazást az alábbiak szerint, az ablak tartalmazzon:

  • egy képet,
  • egy választék-listát a kép milyenségének kijelölésére,
  • egy gombot a kiválasztott képfajta legyártásához,
  • egy gombot a kilépéshez.
RaszteresAbrakRajzolasa.exe futás közben.

Valami ilyesmire gondolok: töltse le és futtassa!

A feladat megoldása

Célszerű az alábbi saját rutinokkal generálni az egyes ábrákat:

Töltse le az én megoldásomat: form-kezelés forrása, és a teljes projekt!
Hozzon létre a projektnek egy saját könyvtárat, csomagolja ki a projektet, majd fordítsa le azt! Elemezze!

Új fogalmak:

Kapcsolódó kérdések, feladatok:

(K3) Válaszoljon az alábbi kérdésekre:

(F3) Tegye nem átméretezhetővé az ablakot!




Olvasmányok

Érdemes átnézni az alábbi dokumentumokat:




Házi feladat

Készítsen egy olyan ablak alkalmazást, amely jól értelmezhetően bemutat valamilyen grafikus elemet (pl. toll, ecset), azaz a leglényegesebb (legalább 10) jellemzőjének szerepét, hozzákapcsolódó műveleteit és azok paraméterezését!



Szlávi Péter