Vizuális programozás Szoftvertechnológia I.

Slides:



Advertisements
Hasonló előadás
BPS Web 2.0 Felhasználói kézikönyv. A szerkesztő főoldala A bejelentkezett felhasználóA szerkesztő főmenürendszere Stílusformázások Nyelv- és nézetváltás.
Advertisements

Krizsán Zoltán iit 1.1.  Aszinkron történésről értesítés egy vagy több objektum számára.  Delegátumok segítségével valósítja meg a C#.  event típus,
A Windows grafikus felülete
Az algoritmizálás oktatás egy lehetséges útja: Visual Basic
Számítástechnika I. 1.konzultáció
MICROSOFT - WINDOWS operációs rendszer
PowerPoint program A PowerPoint programot nyissuk meg a Start menüből.
Operációs rendszerek Beállítások.
Mellár János 3. óra Szeptember 16. v
Számítógépes ismeretek 5. óra
Felhasználó barátság eszközei
© Kozsik Tamás Beágyazott osztályok A blokkstrukturáltság támogatása –Eddig: egymásba ágyazható blokk utasítások Osztálydefiníciók is egymásba.
Csala Péter ANDN #4. 2 Tartalom  C# - ban előre definiált típusok  Változók  Változókkal műveletek  Elágazás  Ciklus.
Stílus, mesteroldal, témák
Szövegszerkesztési szabályok
Windows operációs rendszer
Címsor menüsor ikonsor munkaterület (ikonsor) állapotsor.
A Windows grafikus felülete
A körlevél készítésének menete
V 1.0 Szabó Zsolt, Óbudai Egyetem, Haladó Programozás Eseménykezelés ismétlés Névtelen metódusok (anonymous methods)
Készítette: Keszthelyi Zsolt
Delphi programozás Delphi programozás SRTNB előadás - Borland Delphi – fontosabb komponensek tárgyalása Nagyváradi Anett.
Delphi programozás alapjai Nagyváradi Anett PTE PMMK MIT.
Delphi programozás 8. ELŐADÁS ADO ActiveX Data Objects.
,,Én így tanítanám az informatikát”
Képek beillesztése, formázása dokumentumokban
Egyszerű webes alkalmazás fejlesztése
Webszerkesztés Űrlapok a HTML-ben. Űrlap létrehozása Űrlapunk tartalma a … elemek között fog helyetfoglalni Egy lapon több űrlap is elhelyezhető Több.
VFP Form programozás Form szerkesztő elemei vezérlő elemek
Microsoft Access Vezérlőelemek.
Microsoft Access Űrlapok tervezése.
V 1.0 OE-NIK HP 1 Programozási Paradigmák és Technikák Eseménykezelés Névtelen metódusok (anonymous methods)
Többtáblás adatbázisok
A program a „Tudáshasznosulást, tudástranszfert segítő eszköz-, és feltételrendszer kialakítása, fejlesztése a Műegyetemen” (TÁMOP /1/KMR )
Az Excel táblázatkezelő
Vizuális alkalmazások a FoxProban Páll Éva Boglárka.
Windows Forms Párbeszédablakok és vezérlők
Segédlet vizuális programozáshoz Kovács László
Űrlapok és keretek.
Delphi Készítette: Rummel Szabolcs Elérhetőség:
ADATBÁZISKEZELÉS ŰRLAPOK.
Visual Basic 2008 Express Edition
Visual Basic 2008 Express Edition
V 1.0 Programozás III. További ablakok készítése Továbbított események.
RAD Studio XE5: menük felépítése
Első lépések a szövegszerkesztő használatában
Számítógépes grafika I. AUTOCAD alapok
Számítógépes grafika I. AUTOCAD alapok 3. előadás.
Az Office 2007 új grafikus felülete
A Visual Basic és a programozás oktatása
Gazdasági informatikus - Szövegszerkesztés 1 A munka véglegesítése, nyomtatás.
Gazdasági informatikus - Szövegszerkesztés 1 Bekezdések formázása 3.
User Profiles Endrődi Tamás (MCT, MCP, MCITP) GDF Informatikai Intézet vezetője SZÁMALK Oktatóközpont.
Szebb és használhatóbb programok Vezérlőelemek dinamikus felhelyezése.
TÁMOP /1-2F Informatikai gyakorlatok 11. évfolyam Windows Forms alkalmazás készítése Czigléczky Gábor 2009.
LA C++ programozás Windows környezetben Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr.Dudás László 24./0. lA menü elkészítése lA programkód megírása.
Táblák létrehozása és feltöltése adatokkal Rendezés Szűrés.
Információ és kommunikáció
Alkalmazásfejlesztés gyakorlat
Gépészeti informatika (BMEGEMIBXGI)
Neumann János Informatikai Kar
Programozás III. Felhasználóifelület-elemek fontosabb tulajdonságai, eseményei, metódusai Preview események.
ListBox CheckedListBox TextBox
Windows és Linux Word 1 (1983) … Word for Windows (1989)
A Panel, Scroll Bar és a Combo box tulajdonságai
ComboBox A listák nagy helyet foglalnak a formokon, és az általuk felkínált elemek nem bővíthetőek a felhasználó által. Ezen problémák megoldására használhatjuk.
Neumann János Informatikai Kar
MS Office Word 2010 Szövegszerkesztés.
Folyamatok.
B M Java Programozás 5. Gy: Java alapok IT A N Adatkezelő 1.rész
Előadás másolata:

Vizuális programozás Szoftvertechnológia I. Párbeszédablakok és vezérlők C#

Form - Hogyan hozzuk létre? Új projekt létrehozásakor egy üres formot kapunk További form létrehozása 1. Jobb egérkattintás a projekten Solution Explorer-ben 2. Add 3. Add Windows Forms

Tulajdonságok beállítása Események Form neve Kategóriák szerint ABC sorrendben Leírás 3

Eseménykezelés Események 4

Esemény modell a .Net keretrendszerben Button1 this.button1.Click += new System.EventHandler(this.button1_Click); this.button1.Click += new System.EventHandler(this.button1_Click); A metódusreferencia meghívja a hozzárendelt metódust private void button1_Click(object sender, System.EventArgs e) { … } Meghívja a metódusreferenciát Metódusreferencia (delegate)

Windows Forms Designer – Automatikusan előállított kód partial class 6

Saját kód – partial class

Hogyan tegyünk vezérlőt a formra? 8

Hogyan lássuk el menüvel a formot? 9

Controls Toolbox beállítása Jobb-egérgomb a Toolbox-on 1 Choose Items 2 .NET Framework fül. Komponens kiválasztása. 3 10

Vezérlők elrendezése Elrendezés a Format menüvel és eszköztárral Tabulátor sorrend beállítása Vezérlő lehorgonyzása Dokkolás

GroupBox és Panel vezérlő használata Helyezzünk el további vezérlőket rajta 2 Helyezzünk el egy panelt vagy egy csoportablakot a formon (Panel vagy GroupBox) 1 Korábban a formra helyezett vezérlőket is ráhúzhatunk 3 A Panel vezérlő görgetősávokkal is rendelkezhet (AutoScrollbar=True) 4 A GroupBox címsorral is rendelkezhet (Text=címszöveg) 5

Példaalkalmazás a csoportablak és a jelölőnégyzet használatára

Állapotsor (StatusStrip) StatusStrip a formra Legördülő listából állapotsor elem választás Második lépés ismétlése Állapotsor elemek átnevezése Kijelölés majd Properties vagy Állapotsor kijelölése/Properties/Items

Állapotsor elemeinek beállítása

Szöveg beállítása programból ssÁllapotsor.Items[0].Text= ”Első”;

Állapotsor és választógomb használata Példaalkalmazás Állapotsor és választógomb használata

Menü MenuStrip komponens ablakra helyezése Szokásos menüpontok automatikusan Megadás kézzel Minden menüpont egy önálló objektum saját tulajdonságokkal és eseményekkel

Menü tulajdonságok használata

Gyorsító billentyű, kiválasztó pipa, engedélyezés

Fontosabb események DropDownOpening – mielőtt lenyílna Click Mintaalkalmazás

Windows Forms vezérlők http://msdn.microsoft.com/en-us/library/8w7ed3ba(VS.71).aspx Windows Forms vezérlők

Listaablak (ListBox) vezérlő használata Elemek hozzáadása tervezési időben: Items tulajdonság – String Collection Editor

Listaablak kezelése Listaablak feltöltése futási időben string[] nevek= {"Alma", "Körte", "Banán", "Narancs"}; lbListaablak.Items.AddRange(nevek); Kijelölt elem lekérdezése tbListaelem.Text= (string)lbListaablak.SelectedItem;

Tulajdonságok A listában szereplő elemek száma. Items.Count A kiválasztott elem sorszáma (0-tól kezd). vagy -1, ha nincs kiválasztva egy sem. SelectedIndex Egy vagy több listaelem választható ki egyszerre. SelectionMode A görgető sáv mindig látható. ScrollAlwaysVisible Többoszlopos megjelenítés engedélyezése. MultiColumn Leírás Tulajdonság

Metódusok Binds the ListBox to a name of the column in the Data source. DisplayMember Binds the ListBox to a data source. DataSource Elemek eltávolítása. Items.Remove/Items.Clear Elemek hozzáadása. Items.Add/ Items.Insert Leírás Metódusok

Listaablak használata Példaalkalmazás Listaablak használata

Eszköztár készítése és használata ToolStrip komponens formra helyezése Eszköztár elemek létrehozása legördülő listából történő választással Feliratos nyomógomb: DisplayStyle=Text, Text=felirat Ikonos nyomógomb: DisplayStyle=Image, Image=… BMP fájlok szabványos ikonok az eszköztárra: jobb egérgomb az eszköztáron, Insert Standard Items

Eseménykezelés Click esemény A nyomógombhoz ugyanazt az eseménykezelőt kell hozzárendelni, mint amit a megfelelő menüponthoz rendeltünk

Drag & Drop

Fogd és vidd Két szövegmező, a felsőből húzzuk át a szöveget az alsóba Az alsóban az AllowDrop=True kell legyen Eseménykezelés az eredeti helyen (felső szövegmező): MouseDown – egérgomb lenyomás  elindítjuk a műveletet TextBox1.DoDragDrop(TextBox1.Text, DragDropEffects.Copy);

Fogd és vidd Eseménykezelés a cél helyen: DragEnter – az egérrel a felhasználó bevonszolt valamilyen objektumot a szövegmező területére  ellenőrizzük a tartalom formátumát és engedélyezzük a műveletet if (e.Data.GetDataPresent(DataFormats.Text)) e.Effect = DragDropEffects.Copy; else e.Effect = DragDropEffects.None; DragDrop – a felhasználó elengedte az egérgombot  az átvonszolt szöveget megjelenítjük a cél szövegmezőben

MDI alkalmazások létrehozása SDI és MDI alkalmazások MDI alkalmazások létrehozása Szülő és gyermek formok kapcsolata Gyakorlat: MDI alkalmazás létrehozása

SDI és MDI alkalmazások Csak egy dokumentum látható Egyszerre több dokumentum látható Csak a dokumentum bezárása után nyitható meg egy újabb dokumentum Mindegyik dokumentum saját ablakban van megjelenítve 34

MDI alkalmazások létrehozása Szülő form létrehozása Új projekt létrehozása IsMdiContainer tulajdonság True-ra állítása Menüpont a gyermek form megjelenítéséhez Gyermek form létrehozása Project/Add Windows Form Gyermek form meghívása a szülő form-ból protected void MenuItem2_OnClick(object sender, System.EventArgs e) { // Gyermek form létrehozása. Form2 újGyermek = new Form2(); // Szülő form beállítása. újGyermek.MdiParent = this; // Gyermek form megjelenítése. újGyermek.Show(); } 35

Szülő és gyermek formok kapcsolata Gyermekablakok listája Ablak menü létrehozása, a főmenü objektumban: MdiWindowListItem=ablak menüpont objektum neve Az aktív MDI gyermekablak beazonosítása ActiveMdiChild tulajdonság Gyermekablakok elrendezése LayoutMdi metódus meghívása Form aktívGyermek = this.ActiveMdiChild; 36

MDI alkalmazás létrehozása

Párbeszédablakok használata Windows Forms alkalmazásokban Előre definiált párbeszédablakok Visual Studio .NET-ben Párbeszédablakok megjelenítése DialogResult tulajdonság Adatbevitel párbeszédablakon keresztül Példaalkalmazás

Előre definiált párbeszédablakok Visual Studio .NET-ben OpenFileDialog Állomány megnyitásakor hely és név megadása SaveFileDialog Állomány mentésekor hely és név megadása ColorDialog Színválasztás palettáról és újabb színek hozzáadása a palettához FontDialog A rendszerben telepített fontok megtekintése és betűtípus beállítás PrintDialog Nyomtató kiválasztása és nyomtatással kapcsolatos beállítások PageSetupDialog Oldalbeállítás nyomtatáshoz PrintPreviewDialog Úgy jeleníti meg a dokumentumot, ahogyan az a nyomtatás eredményeképpen látható lesz

Párbeszédablakok megjelenítése Előre definiált párbeszédablak megjelenítése Visual Studio .NET-ben private void button1_Click(object sender, System.EventArgs e) { OpenFileDialog1.ShowDialog(); } Üzenetablak megjelenítése public void PerformCalculations() { MessageBox.Show ("Művelet végrehajtva", "Jelentés",MessageBoxButtons.OKCancel, MessageBoxIcon.Asterisk); }

DialogResult DialogResult A visszatérési érték adja meg, hogy mely gombbal zárta be az ablakot a felhasználó DialogResult.Cancel jelzi, hogy a felhasználó a Mégse gombon kattintott Példa Ha készítünk egy párbeszédablakot, annak lezárását nyomógombokkal (OK, Mégse, stb.) oldjuk meg. Ezek DialogResult tulajdonsága határozza meg, hogy milyen értékkel tér vissza a ShowDialog(). A DialogResult tulajdonság tervezési és futási időben is beállítható.

Adatbevitel párbeszédablakon keresztül Eredmények kiolvasása a párbeszédablakból és felhasználásuk Ha OK, Megnyit, Mentés, stb. gombbal zárta le a felhasználó a párbeszédablakot, akkor 1 Kiolvassuk a párbeszédablak objektum egy vagy több tulajdonságát 2 public void DisplayValue() { string Útvonal; DialogResult Eredmény = openFileDialog1.ShowDialog(); if (Eredmény == DialogResult.OK) { Útvonal = openFileDialog1.FileName.ToString(); MessageBox.Show("A kiválasztott állomány: '" + Útvonal + "'", "Kiválasztás", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1); } …

Beépített párbeszédablak használata - mintaprogramok BeepitettPbtext Beepitett

Vezérlők elhelyezése az ablakon futási időben

Controls gyűjtemény Vezérlő objektumok gyűjteménye Add, Remove és RemoveAt metódusokkal bővítjük vagy szűkítjük a gyűjtemény A Contains metódus adja meg, hogy egy vezérlő tagja-e a gyűjteménynek

Fontosabb metódusok Egy iterátort ad vissza, amivel végiglépkedhetünk a gyűjteményen. GetEnumerator Visszaadja a megadott vezérlő sorszámát. IndexOf Visszaad egy String-et, ami az aktuális objektumot reprezentálja. ToString Eltávolítja az indexxel megadott sorszámú egy vezérlőt. RemoveAt Vezérlő eltávolítása a gyűjteményből Remove Visszaadja, hogy egy adott vezérlő tagja-e a gyűjteménynek. Contains Az összes vezérlő eltávolítása a gyűjteményből. Clear Vezérlő tömb hozzáadása a vezérlő gyűjteményhez. AddRange Egy vezérlő hozzáadása a vezérlő gyűjteményhez. Add Leírás Metódus

Vezérlők elhelyezése a formon futási időben Lépések A vezérlő létrehozása 1 CheckBox értesítésCheckBox = new CheckBox(); // tulajdonságok beállítása signatureCheckBox.Text = "Kér értesítést"; signatureCheckBox.Left = 24; signatureCheckBox.Top = 80; A szerkezeti (elrendezési) logika kikapcsolása a tárolón. Itt a tároló egy csoportablak. 2 GroupBox1.SuspendLayout();

Vezérlők elhelyezése a formon futási időben Lépések Vezérlő hozzáadása a tárolóhoz (container) a Controls tulajdonság Add metódusával. 3 // az új vezérlő hozzáadása a gyűjteményhez GroupBox1.Controls.Add(signatureCheckBox); A szerkezeti (elrendezési) logika kikapcsolása a megcélzott tároló komponensen. 4 groupBox1.ResumeLayout(true);

Példaalkalmazás VezerlokFutasidoben

Menü létrehozása Gyorsmenü formhoz rendelése Menüelemek hozzáadása futásidőben Eseménykezelők készítése a menüelemekhez Menü tulajdonságok használata Gyakorlat: Menüfrissítés futásidőben

Gyorsmenü formhoz rendelése futásidőben1 ContextMenuStrip objektum létrehozása this.ContextMenuStrip = new ContextMenuStrip(); Menüpontok elhelyezése a felbukkanó menüben this.ContextMenuStrip.Items.Add("Új" + this.ContextMenuStrip.Items.Count.ToString()); Eseménykezelő feliratkozása this.ContextMenuStrip.ItemClicked += new ToolStripItemClickedEventHandler( cmsGyorsMenü_ItemClicked);

Gyorsmenü formhoz rendelése futásidőben2 Eseménykezelő függvény megírása private void cmsGyorsMenü_ItemClicked(object sender, ToolStripItemClickedEventArgs e) { switch (e.ClickedItem.ToString()) { case "Új0": MessageBox.Show("A kiválasztott menüpont: Új0"); break; case "Új1": MessageBox.Show("A kiválasztott menüpont: Új1"); case "Új2": MessageBox.Show("A kiválasztott menüpont: Új2"); }

Példaalkalmazás GyorsMenu

Felhasználói adatbevitel ellenőrzése A vezérlők ellenőrzése a Validating esemény felhasználásával Példaalkalmazás: TextBox komponens használata Az ErrorProvider vezérlő használata Példaalkalmazás: TextBox komponens használata ErrorProvider-rel

Validating esemény Azelőtt következik be mielőtt a vezérlő elveszítené az input fókuszt Ha a vezérlő CausesValidation tulajdonsága True-ra van állítva (ez az alapértelmezett) Szabályozhatjuk, hogy mikor kerülhet át a fókusz egy másik vezérlőre

e.Cancel használata

Példaalkalmazás: TextBox komponens használata Validalas

ErrorProvider vezérlő Hibákat jelenít meg a formon keresztül történő felhasználói adatbevitel ellenőrzése során Hibákat jelenít meg egy adathalmazban (dataset) Kulcs tulajdonságok Kulcs metódusok DataSource ContainerControl Icon SetError

ErrorProvider Érvénytelen bevitt adat esetén hibaüzenet megjelenítését teszi lehetővé Előnye: az érintett vezérlő mellett megjelenik egy hibaikon Ha a felhasználó az ikon felé helyezi az egérkurzort, egy gyorstippben megjelenik a hibaüzenet

Fontos tulajdonságok ContainerControl – ez tartalmazza az ErrorProvider-t DataSource – egy adathalmazzal kapcsolatos hibát jelenít meg az ErrorProvider Icon – választott ikon az alapértelmezett helyett

Példaalkalmazás: ErrorProvider Fontos metódusok SetError – meghatározza, hogy melyik vezérlő mellett jelenjen meg az ikon és, hogy mi legyen a hibaüzenet szövege Példaalkalmazás: ErrorProvider

Managed Spy http://msdn.microsoft.com/msdnmag/issues/06/04/ManagedSpy/