Windows Application. Miklós Árpád Dr. Kotsis Domokos



Hasonló dokumentumok
Vizuális, eseményvezérelt programozás I.

Programozás 2., II. kötet Windows form alkalmazások

Johanyák Zsolt Csaba: Ugráló gomb oktatási segédlet Copyright 2008 Johanyák Zsolt Csaba

Programozás BMEKOKAA146. Dr. Bécsi Tamás 8. előadás

Programozás BMEKOKAA146. Dr. Bécsi Tamás 10. Előadás

Számítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás

Vizuális és eseményvezérelt programozás , II. félév BMF NIK

components : IContainer dx : int dy : int tmidőzítő : Timer toolstripseparator1 : ToolStripSeparator tsmikilépés : ToolStripMenuItem

7. Előadás. Makrók alkalmazása. Salamon Júlia. Előadás I. éves mérnök hallgatók számára

Johanyák Zsolt Csaba: Grafikus felület programozása. Copyright 2008 Johanyák Zsolt Csaba

BME MOGI Gépészeti informatika 14.

Access adatbázis elérése OLE DB-n keresztül

Adabáziselérés ODBC-n keresztül utasításokkal C#-ban

Vizuális és eseményvezérelt programozás , II. félév BMF NIK

"Egységes erdélyi felnőttképzés Kárpát-medencei hálózatban" JAVA ALAPÚ WEBPROGRAMOZÁS. M6 Modul: A DOM Modell

Eseményvezérelt alkalmazások fejlesztése II 3. előadás. Windows Forms dinamikus felhasználói felület, elemi grafika

BME MOGI Gépészeti informatika 7.

Számítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás

VISUAL BASIC ALAPISMERETEK

A szerzõrõl... xi Bevezetés... xiii

Szabadkai Műszaki Szakfőiskola. Web programozás. dr Zlatko Čović

Windows alkalmazások készítése. A Windows rendszerben a felhasználó hozzászokott a menü, az eszköztár és a többalakos programok használatához.

ESEMÉNY VEZÉRELT ALKALMAZÁSOK FEJLESZTÉSE I. Bevezetés. Készítette: Gregorics Tibor

Ugráló gomb oktatási segédlet Ugráló gomb

Számítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás

Johanyák Zsolt Csaba: Képnézegető program oktatási segédlet

Adatbázis alapú rendszerek gyakorlat Adatbázis alapú alkalmazásfejlesztés Java, C# környezetben

Mérési adatgyűjtés és adatfeldolgozás 2. előadás

Sorosítás (szerializáció) és helyreállítás. 1. Bináris sorosítás és helyreállítás Szükséges névterek Attribútumok. 1.3.

Segítség a megoldáshoz: 1. Készítse el a Window-t az ábrának és az osztálydiagramnak megfelelően.

Objektumorientált programozás Pál László. Sapientia EMTE, Csíkszereda, 2014/2015

Form1 Form Size 400;400 Text Mozgó kör timer1 Timer Enabled True Interval 100

Hozzunk létre két rekordot a táblában, majd véglegesítsünk (commit):

BME MOGI Gépészeti informatika 4.

BME MOGI Gépészeti informatika 6.

18. Szövegszerkesztők

BME MOGI Gépészeti informatika 13.

GenerikusOsztály<objektumtípus> objektum = new GenerikusOsztály<objektumtípus>();

A gyakorlat során az alábbi ábrán látható négy entitáshoz kapcsolódó adatbevitelt fogjuk megoldani.

Programozási technológia

Táblázatok. Táblázatok beszúrása. Cellák kijelölése

WCF, Entity Framework, ASP.NET, WPF 1. WCF service-t (adatbázissal Entity Framework) 2. ASP.NET kliens 3. WPF kliens

Word I. Bevezető. Alapfogalmak

Java Programozás 8. Gy: Java alapok. Adatkezelő 4.rész

Tartalomjegyzék. A Delphi 5 integrált fejlesztõkörnyezet 8. A Delphi 5 kiadásai 7

Objektumorientált Programozás III.

BME MOGI Gépészeti informatika 1.

Összefoglaló. // megjegyzés /* megjegyzés */ ; // üres utasítás { } // blokk kezdet és vég

OOP I. Egyszerő algoritmusok és leírásuk. Készítette: Dr. Kotsis Domokos

DKÜ ZRT. A Portál rendszer felületének általános bemutatása. Felhasználói útmutató. Támogatott böngészők. Felületek felépítése. Információs kártyák

9. óra operációs rendszerek. Grafikus operációs rendszer

BME MOGI Gépészeti informatika 2.

QGIS szerkesztések ( verzió) Összeállította: dr. Siki Zoltán verzióra aktualizálta: Jáky András

3.2. Az alkalmazások ablaka

Entity Framework alapú adatbáziselérés 2

1.A. feladat: Programablakok

3. modul - Szövegszerkesztés

Operációs rendszerek. Tanmenet

Programozás I. Matematikai lehetőségek Műveletek tömbökkel Egyszerű programozási tételek & gyakorlás V 1.0 OE-NIK,

Objektumorientált programozás Pál László. Sapientia EMTE, Csíkszereda, 2014/2015

C# develop feladatleírások

Visual Studio 2015 Express for Windows Desktop Első lépések

Objektumorientált Programozás VI.

Táblázatkezelés 2. - Adatbevitel, szerkesztés, formázás ADATBEVITEL. a., Begépelés

// keressük meg a legnagyobb faktoriális értéket, ami kisebb, // mint százmillió

Webszolgáltatás és XML alapú adatbázis. 1. Az adatbázis megtervezése

Objektumorientált programozás C# nyelven

A Microsoft Visual Studio 2005 fejlesztőkörnyezet

Thermo1 Graph. Felhasználói segédlet

munkafüzet open eseményéhez

TABULÁTOROK TÁBLÁZATOK KÉSZÍTÉSE. A táblázatok készítésének lehetőségei:

Adatbázis-kezelés ActiveX vezérl kkel 2.rész

Java Programozás 5. Gy: Java alapok. Adatkezelő 1.rész

A CAPICOM ActiveX komponens telepítésének és használatának leírása Windows7 operációs rendszer és Internet Explorer 8-es verziójú böngésző esetén

Tabulátorok, felsorolás, stílusok Tabulátorok

Szöveges műveletek. Mielőtt nekikezdenénk első szövegünk bevitelének, tanuljunk meg néhány alapvető műveletet a 2003-as verzió segítségével:

Oktatási segédanyag. Weboldalszerkesztési gyakorlatok

Grafikus felhasználói felületek. Dr. Szendrei Rudolf Informatikai Kar Eötvös Loránd Tudományegyetem. Programozási technológia I. Dr.

Grafikus felhasználói felület (GUI) létrehozása A GUI jelentése Egy egyszerű GUI mintaalkalmazás létrehozása

VARIO Face 2.0 Felhasználói kézikönyv

XML Webszolgáltatás alapú osztott alkalmazás fejlesztése Johanyák Zsolt Csaba 1

2 PowerPoint 2016 zsebkönyv

Word IV. Élőfej és élőláb

Swing GUI készítése NetBeans IDE segítségével

Táblázatok kezelése. 1. ábra Táblázat kezelése menüből

Segédanyag a WORD használatához

Felhasználói Kézikönyv

Objektum Orientált Programozás VII.

Tájékoztató. Használható segédeszköz: -

* Az eszköztáron látható menüpontok közül csak a felsoroltak esetén használható a Ctrl.

Felhasználói Kézikönyv

Két csomag elemeiből lehet a felületet elkészíteni: awt: heavy weight komponensek; swing: light weight komponensek (időben később).

Választó lekérdezés létrehozása

Objektum Orientált Programozás IV.

Operációs rendszerek. Tanmenet

RAJZ1. vezetett gyakorlat

Felhasználói kézikönyv a WEB EDInet rendszer használatához

Objektumorientált Programozás IV.

Bánsághi Anna 2015 Bánsághi Anna 1 of 31

1. DVNAV letöltése és telepítése

Átírás:

Windows Application Miklós Árpád Dr. Kotsis Domokos

Hallgatói tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk a számonkérendő anyag vázlatát képezik. Ismeretük szükséges, de nem elégséges feltétele a sikeres zárthelyinek, illetve vizsgának. Sikeres zárthelyihez, illetve vizsgához a jelen bemutató tartalmán felül a kötelező irodalomként megjelölt anyag, a gyakorlatokon szóban, illetve a táblán átadott tudnivalók ismerete, valamint a gyakorlatokon megoldott példák és az otthoni feldolgozás céljából kiadott feladatok önálló megoldásának képessége is szükséges.

Windows Forms Application

Form címe Properties (tulajdonság) panel A form felirata A form neve

Toolbox (eszköztár) Egyszeres, kétszeres kattintás Vissza kijelölés módba Csoportok

Button

Label

Tulajdonságok Amit átállítottunk félkövér Visszaállítás Reset

Eseménykezelés Event (esemény) panel Dupla kattintásra eseménykezelő

Az eseménykezelő program I.

Az eseménykezelő program II. Alakítsuk át az előző programot, hogy újabb klikkelésre a Nem nyomtuk le és a Lenyomtuk felirat váltakozzon!

Az eseménykezelő program III. Írjunk programot, melyen legyen két gomb, és egy címke. Amelyiket lenyomtuk, legyen nem elérhető, a másik legyen elérhető. A címke mutassa, melyik gombot nyomtuk le.

Az eseménykezelő program IV. Írjunk programot, melyen legyen két gomb, és egy címke. Amelyiket lenyomtuk, legyen nem látható, a másik legyen látható. A címke mutassa, melyik gombot nyomtuk le.

Legfontosabb tulajdonságok I. Azonosítás Name A komponens egyedi megnevezése, amellyel hivatkozunk rá. Erre a tulajdonságra az általános névadási szabályok vonatkoznak. Parent A komponenst vizuálisan tartalmazó csoportosító vezérlő ( szülő ). Meghatározza a komponens koordinátarendszerének origóját. Tag Tetszőleges objektum tárolható ebben a tulajdonságban (hivatkozás formájában). A tulajdonság típusa object, tehát bármilyen osztály egy példányára hivatkozhat. Segítségével kiegészítő információk adhatók a komponenshez, külső vagy belső objektumok kapcsolhatók hozzá

Legfontosabb tulajdonságok II. Megjelenés I. BackColor, ForeColor A komponens előtér- és háttérszínét határozzák meg. Egyéni színek ( Custom ), a weben gyakran használt színek ( Web ), illetve rendszerszínkódok ( System ) közül választhatunk. BackgroundImage, BackgroundImageLayout A komponens háttérképe, amely a BackgroundImageLayout tulajdonság értéke alapján lehet a bal felső sarokba igazított ( None ), ismétlődő ( Tile ), középre igazított ( Center ), méretre igazított ( Stretch ) vagy egyéni méretezésű ( Zoom ). Cursor Az itt beállított egérmutató jelenik meg, amikor az egeret a komponens fölé húzzuk.

Legfontosabb tulajdonságok III. Megjelenés II. Font A komponens által megjelenített szöveg(ek) betűstílusát határozza meg. Maga is több résztulajdonságból áll, de ezek külön nem módosíthatók. Ha módosítjuk a résztulajdonságokat, mindig egy-egy új Font objektum jön létre. Ha egyáltalán nem módosítjuk, akkor a komponens átveszi a szülője (vagy szülő hiányában tartalmazója) megfelelő tulajdonságának értékét. Image, ImageAlign A komponensen megjelenített kép, amelyet az ImageAlign tulajdonság segítségével vízszintesen, illetve függőlegesen is igazíthatunk. Text, TextAlign A komponens szövege, amelyet a TextAlign tulajdonság segítségével vízszintesen, illetve függőlegesen is igazíthatunk.

Legfontosabb tulajdonságok IV. Viselkedés. Enabled A komponens működtetésének engedélyezésére, illetve letiltására szolgál. TabIndex, TabStop Ha a TabStop tulajdonság értéke igaz ( true ), a komponens részt vesz a Tab billentyűvel végrehajtható bejárásban, méghozzá a TabIndex tulajdonság által megadott pozícióban. Visible A komponens láthatóságának engedélyezésére, illetve letiltására szolgál. Bár elméletileg a nem látható komponensek működtetése is engedélyezhető az Enabled tulajdonsággal, ezek a felhasználó számára semmilyen módon nem érhetők el mindaddig, amíg a Visible tulajdonság (vagy a Show() metódus, lásd később) segítségével láthatóvá nem tesszük őket.

Legfontosabb tulajdonságok V. Elhelyezkedés I. Anchor Segítségével virtuálisan összeköthetjük a komponenst a szülő bal/jobb/felső/alsó szegélyével. Összekötés után a komponens és a szülő megfelelő széle mindig együtt mozog, tehát távolságuk átméretezéskor sem változik. AutoSize, AutoSizeMode Ha az AutoSize tulajdonság értéke igaz ( true ), a komponens automatikusan a saját tartalma által megkívánt méretre nagyítja (AutoSizeMode == GrowOnly) vagy nagyítja és kicsinyíti (AutoSizeMode == GrowAndShrink) saját magát. Dock Segítségével közvetlenül hozzákapcsolhatjuk a komponenst a szülő bal/jobb/felső/alsó szegélyéhez, vagy beállíthatjuk, hogy a komponens mindig teljesen töltse ki a szülő területét (Dock == Fill). Hozzákapcsoláskor a komponens rácsatlakozik a szülő megfelelő szegélyeire.

Legfontosabb tulajdonságok VI. Elhelyezkedés II. Location A komponens képpontokban számított pozícióját adja meg a szülőhöz viszonyított koordinátarendszerben. Az X és Y résztulajdonságokkal a vízszintes és függőleges pozíció külön-külön is beállítható. MaximumSize, MinimumSize A komponens képpontokban számított maximális, illetve minimális méreteit (szélességét és magasságát) adja meg. Size A komponens képpontokban számított méreteit (szélességét és magasságát) adja meg.

Legfontosabb tulajdonságok VII. Egyéb GenerateMember Ha a GenerateMember tulajdonság értéke igaz ( true ), a komponenshez az őt tartalmazó ablakosztályban a Visual Studio 2005 külön tagváltozót rendel. Ellenkező esetben a komponensre kívülről nem lehet majd hivatkozni. Modifiers Ez a tulajdonság szabja meg a komponens OOP láthatósági szintjét. Lehetséges értékei: public, protected, protected internal, internal, private. UseMnemonic Ha a UseMnemonic tulajdonság értéke igaz ( true ), a komponens Text tulajdonságánál megadott szövegben az & karakter után álló betű lesz a komponens gyorsbillentyűje. Az & karakter ilyenkor nem jelenik meg a komponens szövegében. UseWaitCursor Segítségével várakozó kurzorra állíthatjuk át a komponens egérmutatóját.

Legfontosabb metódusok I. Hide(), Show() A komponens elrejtésére, illetve felfedésére szolgáló metóduspár. Invalidate(), Update(), Refresh() Mindhárom metódus közvetve vagy közvetlenül a komponens újrarajzolását váltja ki: Invalidate() - a komponens területét részben vagy teljesen újrarajzolandónak nyilvánítja, de rajzolást közvetlenül nem végez (az újrarajzolásra tehát a legközelebbi rajzolási ciklusban kerül sor) Több felüldefiniált változata is van, ezekkel oldható meg az egyes részterületek újrarajzolandónak nyilvánítása. Update() - a komponens korábban már újrarajzolandónak nyilvánított területeinek azonnali újrarajzolását váltja ki Refresh() - a komponens teljes területét újrarajzolandónak nyilvánítja és azonnal el is végzi az újrarajzolást BringToFront(), SendToBack() A komponenst az előtérbe (azaz a többi komponens elé), illetve a háttérbe (azaz a többi komponens mögé) helyezi. Az egyes komponenseknek van egy virtuális z koordinátája is, ez határozza meg, hogy a komponens mely más elemeket takar el a képernyőn.

Legfontosabb metódusok II. Focus() A komponensre állítja a bemeneti fókuszt. A metódus hívását követően a felhasználó beviteli műveletei, tehát például a lenyomott billentyűk és az egérrel végzett műveletek erre a komponensre irányulnak. Select() Kiválasztja a komponenst (amennyiben az kiválasztható típusú). Ki nem választható típusú komponensek: Panel, GroupBox, PictureBox, ProgressBar, Splitter, Label, LinkLabel (ha nem tartalmaz hivatkozást) és leszármazottaik. A ki nem választható komponensek is birtokolhatják a bemeneti fókuszt. Scale() Adott tényezővel megszorozza a komponens (valamint az általa tartalmazott alkomponensek) minden méretét. Kicsinyítésre és nagyításra is alkalmas. SetBounds() A komponens helyét és méreteit állítja be. Előnye, hogy egyszerre állítja be az új hely koordinátáit és az új méreteket, így a komponens csak egyszer rajzolja újra saját magát.

Legfontosabb események I. Click A komponensre kattintáskor hívja meg eseménykezelőit. Enter, Leave Akkor hívja meg eseménykezelőit, amikor a komponens megkapja (Enter), illetve elveszíti (Leave) a bemeneti fókuszt. KeyDown, KeyPress, KeyUp A komponens fókuszált** állapotában valamely billentyű lenyomásakor a KeyDown, felengedésekor a KeyUp, illetve a normál *** billentyűk megnyomásakor a KeyPress eseménykezelők hívódnak meg. A billentyűk megnyomásakor először a KeyDown, majd a KeyPress, utoljára a KeyUp eseménykezelők hívódnak meg. * A Visual Studio 2005 grafikus felületén nem tudunk egy eseményhez több eseménykezelőt rendelni (saját forráskódban, illetve az automatikusan előállított forráskód utólagos saját kiegészítésével viszont igen). ** Egy komponens akkor van fókuszált állapotban, ha az operációs rendszer hozzá irányítja a bemeneti eszközök eseményeit (egérmozgatás, billentyűlenyomás stb.) - lásd a Focus() metódus leírását. *** Normál billentyűk: az ABC betűi, a számok és az írásjelek.

Legfontosabb események II. MouseDown, MouseMove, MouseUp Az egér valamelyik gombjának a komponens felett történő megnyomásakor a MouseDown, felengedésekor a MouseUp eseménykezelők hívódnak meg. Az egérnek a komponens felett történő mozgatásakor a MouseMove eseménykezelők hívódnak meg. Figyelem: az egér mozgatásakor a MouseMove eseménykezelők igen gyakran, akár minden képpontnál újra és újra meghívódhatnak. MouseEnter, MouseLeave Akkor hívja meg eseménykezelőit, amikor az egér a komponens fölé ér (MouseEnter), illetve elhagyja a komponens területét (MouseLeave). Move Akkor hívja meg eseménykezelőit, ha a komponens pozíciója (Location tulajdonságának értéke) megváltozott. Resize Akkor hívja meg eseménykezelőit, ha a komponens mérete (Size tulajdonságának értéke) megváltozott.

Legfontosabb események III. Changed Az ezen eseményekhez tartozó eseménykezelők akkor hívódnak meg, ha a komponens megfelelő tulajdonságának értéke megváltozott. Például az AutoSizeChanged eseménykezelői az AutoSize tulajdonság, a BackColorChanged eseménykezelői a BackColor tulajdonság megváltozásakor hívódnak meg, és így tovább. Néhány gyakran használt Changed eseménykezelő: AutoSizeChanged EnabledChanged FontChanged LocationChanged SizeChanged VisibleChanged

Fordítás

Futtatás

Osztálydiagram I.

Osztálydiagram II.

Gyakorló feladat I. Kilépés: Close();

Gyakorló feladat II. Jegyek számának beállítása: textbox2.text = String.Format("{0,8:F4}", a);

Gyakorló feladat III. Olvasson be egy karaktersorozatot egy TextBox vezérlőből, majd Írja vissza egy másik TextBox vezérlőbe megfordítva. A Form-on legyen egy Megfordít és egy Kilépés parancsgomb is.

Gyakorló feladat IV. Olvasson be egy mondatot, majd minden szó első betűjét alakítsa nagybetűssé. A szavakat szóköz választja el. A beolvasáshoz és a kiíráshoz használjon TextBox vezérlőket. A Fom-on legyen egy Átalakít és egy Kilépés parancsgomb is.

Másodfokú egyenlet megoldása Textbox Label (12 pontos) Egyelőre üres label

Fókusz az első beolvasásra

Input ellenőrzés

Globális változók deklarálása namespace WindowsApplication3 { public partial class Form1 : Form { double a, b, c, d; public Form1()

Egy adat beolvasása private void textbox1_keypress(object sender, KeyPressEventArgs e) { if (e.keychar == (char)(13)) { try { label4.text = ""; label5.text = ""; label6.text = ""; textbox2.text = ""; textbox3.text = ""; a = double.parse(textbox1.text); textbox2.focus(); } catch { textbox1.text = ""; label5.text = "Hibás adat!"; textbox1.focus(); } } }

Ha a==0 if (a == 0) { if (b == 0) { if (c == 0) { label4.text = "Minden x megoldás"; } else { label4.text = "Nincs megoldás"; } } else { label4.text = "Egy gyök"; label5.text = "X = "+(-c / b).tostring(); } }

Valós és komplex gyökök d = b * b - 4 * a * c; if (d >= 0) { d = System.Math.Sqrt(d); label4.text = "Valós gyökök"; label5.text = "X1="+((-b + d) / (2 * a)).tostring(); label6.text = "X2="+((-b - d) / (2 * a)).tostring(); } else { d = -1 * d; d = (System.Math.Sqrt(d)) / (2 * a); label4.text = "Komplex gyökök"; label5.text = "X1="+((-b) / (2 * a)).tostring()+" + "+d.tostring()+"i"; label6.text = "X2="+((-b) / (2 * a)).tostring()+" - "+d.tostring()+"i"; }

Legfontosabb komponensek I. Közönséges vezérlők(common Controls) Nyomógomb ( Button ) Jelölőnégyzet ( CheckBox ) Legördülő lista ( ComboBox ) Címke ( Label ) Lista ( CheckedListBox, ListBox, ListView ) Számmező ( NumericUpDown ) Rádiógomb ( RadioButton ) Szövegmező ( TextBox, RichTextBox ) Fa ( TreeView ) Böngésző ( WebBrowser )** * A beépített komponensek tárgyalása nem teljes körű, a legfontosabb vezérlők bemutatására szorítkozunk. ** A WebBrowser komponens gyakorlatilag a telepített Internet Explorer egy példánya, ennek összes előnyével és hátrányával.

Legfontosabb komponensek II. Csoportosítás (Containers) Csoport ( GroupBox ) Panel ( Panel ) Automatikus rendezőpanel ( FlowLayoutPanel, TableLayoutPanel ) Osztott panel ( SplitContainer ) Füles lapozó ( TabControl )

Legfontosabb komponensek III. Menük és eszközsorok ( Menus & Toolbars ) Főmenü ( MenuStrip ) Helyi menü ( ContextMenuStrip ) Eszközsor ( ToolStrip ) Állapotsor ( StatusStrip )

Legfontosabb komponensek IV. Adatketelő (Data) Adatbázis ( DataSet ) Adatrács ( DataGridView ) Adatforrás ( BindingSource ) Adatnavigátor ( BindingNavigator )

Legfontosabb komponensek V. Nem vizuális (Components) Háttérben futó feladat ( BackgroundWorker ) Közös hibakezelő ( ErrorProvider ) Közös súgókezelő ( HelpProvider ) Fájlrendszer-figyelő ( FileSystemWatcher ) Képlista ( ImageList ) OS folyamat ( Process ) OS szolgáltatásvezérlő ( ServiceController ) Időzítő ( Timer )

Legfontosabb komponensek VI. Nyomtatás (Printing) Nyomtatható dokumentum ( PrintDocument ) Oldalbeállító párbeszédablak ( PageSetupDialog ) Nyomtatási párbeszédablak ( PrintDialog ) Nyomtatási előnézet ( PrintPreviewControl ) Nyomtatási előnézet párbeszédablak ( PrintPreviewDialog )

Legfontosabb komponensek VII. Párbeszédablakok (Dialogs) Mappatallózó ( FolderBrowserDialog ) Színbeállító párbeszédablak ( ColorDialog ) Betűstílus-beállító párbeszédablak ( FontDialog ) Fájlmegnyitó párbeszédablak ( OpenFileDialog ) Fájlmentő párbeszédablak ( SaveFileDialog )