Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Windows Forms Rozhraní pro programování grafických apli-kací

Podobné prezentace


Prezentace na téma: "Windows Forms Rozhraní pro programování grafických apli-kací"— Transkript prezentace:

1 Windows Forms Rozhraní pro programování grafických apli-kací
Součást MS .NET Framework Poskytuje sadu tříd umožňujících přístup ke standardním ovládacím prvkům operačního systému MS Windows (okno, tlačítko, menu, editační prvek atd.) Aplikace psané pomocí Windows Forms jsou událostmi řízené 23/05/2018

2 Hierarchie tříd Object 1 2 3 4 MarshalByRefObject ListControl
Component ComboBox Control ListBox ScrollableControl PictureBox ContainerControl ScrollBar Form StatusBar ButtonBase ToolBar Button Menu CheckBox ContextMenu RadioButton MainMenu Label MenuItem TextBoxBase Graphics TextBox Application 1 2 3 4 MessageBox 23/05/2018

3 Třída Application (1) Definována ve jmenném prostoru: System.Windows.Forms Poskytuje metody, vlastnosti a události umož-ňující řídit běh aplikace Všechny členy třídy Application jsou sta-tické Poznámka: třída Application je definována s modifikáto-rem sealed  není možné definovat třídu, která by byla jejím potomkem 23/05/2018

4 Třída Application (2) Vlastnosti: ExecutablePath: OpenForms:
vrací název souboru (včetně cesty), který spustil ap-likaci OpenForms: vrací kolekci otevřených formulářů, které aplikace vlastní StartupPath: vrací cestu k souboru, který spustil aplikaci (bez jmé-na souboru) 23/05/2018

5 Třída Application (3) Metody: Restart: Run:
ukončí aplikaci a provede její opětovné spuštění Run: zahájí standardní cyklus očekávající příchod zprávy (události) je-li jejím parametrem formulář (okno), pak se pro-vede jeho zobrazení a metoda Run nevrátí řízení, do-kud daný formulář není uzavřen typicky používána pro zobrazení hlavního okna apli-kace 23/05/2018

6 Třída Control (1) Definována ve jmenném prostoru: System.Windows.Forms
Základní třída pro ovládací prvky systému MS Windows (komponenty s vizuální repre-zentací), např.: formuláře (okna) tlačítka editační pole rolovací lišty Implementuje základní podporu pro odpoví-dající objekty 23/05/2018

7 Třída Control (2) Vlastnosti: BackColor: BackgroundImage: ClientSize:
udává barvu pozadí ovládacího prvku BackgroundImage: specifikuje obrázek zobrazený na pozadí ovládacího prvku (*.gif, *.jpg, *.bmp, *.wmf, *.png) ClientSize: udává velikost (výšku a šířku) klientské části ovláda-cího prvku ContextMenuStrip: určuje kontextové menu zobrazené když uživatel stiskne pravé tlačítko myši 23/05/2018

8 Třída Control (3) Cursor: Enabled: Focused: Font: ForeColor: Handle:
určuje kurzor myši, který bude nad ovládacím prv-kem použitý Enabled: udává, zda je ovládací prvek aktivní nebo nikoliv (grayed) Focused: zjišťuje, zda má ovládací prvek vstupní zaměření (focus) Font: specifikuje font textu použitého v ovládacím prvku ForeColor: určuje barvu popředí ovládacího prvku (např. u tla-čítka se jedná o barvu textu) Handle: vrací popisovač (handle) daného ovládacího prvku 23/05/2018

9 Třída Control (4) Height: Left: Location: Name: Size: TabIndex:
výška ovládacího prvku Left: x-ová souřadnice levého horního rohu ovládacího prvku Location: souřadnice levého horního rohu ovládacího prvku Name: jedinečné jméno ovládacího prvku Size: výška a šířka ovládacího prvku TabIndex: určuje pořadí komponenty, ve kterém při stisku klá-vesy TAB získává vstupní zaměření (focus) 23/05/2018

10 Třída Control (5) Metody: TabStop: Text: Top: Visible: Width: Focus:
určuje, zda uživatel může ovládací prvek vybrat po-mocí klávesy TAB Text: specifikuje text (titulek) ovládacího prvku Top: y-ová souřadnice levého horního rohu ovládacího prvku Visible: udává, zda je (není) ovládací prvek viditelný Width: šířka ovládacího prvku Metody: Focus: nastavuje ovládacímu prvku vstupní zaměření (focus) 23/05/2018

11 Třída Control (6) Hide: Invalidate: Refresh: Show:
skryje ovládací prvek ekvivalentní nastavení vlastnosti Visible na hod-notu false Invalidate: dává požadavek na překreslení ovládacího prvku Refresh: vynucuje překreslení ovládacího prvku (ekvivalentní vyvolání metod Invalidate + Update) Show: učiní ovládací prvek viditelný ekvivalentní nastavení vlastnosti Visible na hod-notu true 23/05/2018

12 Třída Control (7) Události: Update: Click: DoubleClick: Enter:
provede překreslení ovládacího prvku (pouze pokud byl předtím dán požadavek pomocí Invalidate) Události: Click: dojde k ní při klepnutí primárním (levým) tlačítkem na ovládací prvek DoubleClick: dojde k ní při double-clicku primárním (levým) tla-čítkem myši na ovládací prvek Enter: dojde k ní v době, kdy je ovládací prvek aktivován 23/05/2018

13 Třída Control (8) KeyPress: Leave: MouseDown:
dojde k ní při stisku klávesy a je poslána ovládacímu prvku mající vstupní zaměření (focus) je vyvolána pouze v případě, že se jedná o klávesu reprezentující znak pro klávesy, které nereprezentují znak je zapotřebí provést obsluhu události KeyDown, popř. KeyUp Leave: nastává v okamžiku, kdy vstupní zaměření opouští ovládací prvek MouseDown: dojde k ní když kurzor myši je nad ovládacím prv-kem a je proveden stisk některého tlačítka myši 23/05/2018

14 Třída Control (9) MouseMove: MouseUp: Paint: Resize: TextChanged:
dojde k ní při pohnutí myší nad ovládacím prvkem MouseUp: dojde k ní když kurzor myši je nad ovládacím prvkem a je provedeno uvolnění stisknutého tlačítka myši Paint: dojde k ní v době, kdy je ovládací prvek překreslo-ván Resize: nastává v okamžiku, kdy se u ovládacího prvku mění jeho velikost TextChanged: dojde k ní při změně textu ovládacího prvku 23/05/2018

15 Třída Form (1) Definována ve jmenném prostoru: System.Windows.Forms
Reprezentuje standardní okna (formuláře) aplikace Třída Form může být využita pro vytvoření a správu např.: hlavního okna aplikace dialogových oken oken pro aplikace MDI (Multiple Document Interface) 23/05/2018

16 Třída Form (2) Vlastnosti: AcceptButton: ActiveControl: ActiveForm:
specifikuje tlačítko v okně, které je stisknuto v okam-žiku, kdy uživatel stiskne klávesu Enter ActiveControl: nastavuje (zjišťuje), který ovládací prvek v okně bude mít (má) vstupní zaměření (focus) zděděno od třídy ContainerControl ActiveForm: vrací aktuální (aktivní) formulář aplikace ActiveMdiChild: vrací aktuální (aktivní) formulář v aplikaci MDI 23/05/2018

17 Třída Form (3) CancelButton: ControlBox: FormBorderStyle: HelpButton:
specifikuje tlačítko v okně, které je stisknuto v okam-žiku, kdy uživatel stiskne klávesu Esc ControlBox: specifikuje, zda-li má být v titulním proužku zobra-zená ikona se systémovým menu FormBorderStyle: udává vzhled a chování okraje okna (např. Sizable FixedSingle, Fixed3D, FixedDialog) HelpButton: specifikuje, zda-li má být v titulním proužku zobra-zeno tlačítko pro nápovědu Icon: specifikuje ikonu formuláře (okna) – *.ico 23/05/2018

18 Třída Form (4) KeyPreview: MainMenuStrip: MaximizeBox: MinimizeBox:
určuje, zda má formulář přijímat stisknuté klávesy dříve než ovládací prvek mající vstupní zaměření (focus) MainMenuStrip: specifikuje hlavní menu formuláře (okna) MaximizeBox: specifikuje, zda-li má být v titulním proužku zobrazeno tlačítko pro maximalizaci MinimizeBox: specifikuje, zda-li má být v titulním proužku zobrazeno tlačítko pro minimalizaci StartPosition: určuje počáteční pozici okna (např. CenterScreen, Manual, WindowsDefaultLocation) 23/05/2018

19 Třída Form (5) Metody: WindowState: Activate: Close: LayoutMdi:
udává stav okna (Normal, Minimized, Maximized) Metody: Activate: aktivuje okno (předává mu vstupní zaměření) Close: provede uzavření okna LayoutMdi: uspořádá dceřiná okna aplikace MDI (Cascade, TileHorizontal, TileVertical, ArrangeIcons) ShowDialog: zobrazí okno jako modální dialogové okno 23/05/2018

20 Třída Form (6) Události: Activated: Deactivate: FormClose:
vzniká v době, kdy se formulář (okno) stává aktivním Deactivate: vzniká při deaktivaci okna (ztrátě vstupního zaměření) FormClose: nastává poté, kdy je formulář (okno) uzavřen FormClosing: nastává v okamžiku, kdy se formulář (okno) uzavírá Load: nastává před prvním zobrazením okna Shown: nastane, když je okno poprvé zobrazeno 23/05/2018

21 Třída MessageBox (1) Definována ve jmenném prostoru: System.Windows.Forms Zobrazuje okno, které může obsahovat: text tlačítka symboly (ikony) Pro zobrazení MessageBoxu se používá me-toda Show, která: je definovaná 21 různými způsoby (overloading) vrací hodnotu typu DialogResult vyjadřující, kterým tlačítkem byl MessageBox ukončen 23/05/2018

22 Třída MessageBox (2) Tlačítka jsou typu MessageBoxButtons, který definuje konstanty vyjadřující jaká tlačítka budou zobrazena (OK, OKCancel, AbortRetryIgnore, YesNoCancel, YesNo, RetryCancel) Ikony jsou typu MessageBoxIcon, který definuje následující konstanty: None, Hand, Question, Exclamation, Asterisk, Stop, Error, Warning, Information 23/05/2018

23 Třída Button Definována ve jmenném prostoru: System.Windows.Forms
Reprezentuje tlačítko Vlastnosti: DialogResult: určuje, zda (a jak) tlačítko uzavírá svůj modální rodi-čovský formulář hodnota DialogResult je vrácena metodou ShowDialog Metody: PerformClick: simuluje uživatelský stisk tlačítka 23/05/2018

24 Třída Label Definována ve jmenném prostoru: System.Windows.Forms
Ovládací prvek dovolující zobrazit textovou informaci Vlastnosti: Text: specifikuje zobrazený text Poznámka: je-li zapotřebí zobrazit číselný údaj, pak je nez-bytné jej nejprve převést na řetězec (pomocí metody ToString nebo třídy Convert) 23/05/2018

25 Třída TextBox (1) Definována ve jmenném prostoru: System.Windows.Forms
Ovládací prvek dovolující zobrazit a zadat textovou informaci Vlastnosti: CharCase: specifikuje, zda-li zadaná informace bude automatic-ky konvertována na velká (malá) písmena nebo nikoliv Lines: udává řádky textu v TextBoxu používané zejména u víceřádkových TextBoxů 23/05/2018

26 Třída TextBox (2) MaxLength: Multiline: PasswordChar: ReadOnly:
maximální počet znaků, které lze zadat (0 značí bez omezení) Multiline: určuje, zda-li do TextBoxu může být zadáno více řádků PasswordChar: maskovací znak, který se bude zobrazovat místo za-dávaných znaků ReadOnly: značí TextBox určený pouze ke čtení SelectionLength: počet znaků v zaznačeném textu 23/05/2018

27 Třída TextBox (3) SelectionStart: SelectedText: Text: TextAlign:
počáteční pozice aktuálně zaznačeného textu SelectedText: specifikuje aktuálně zaznačený text Text: udává zadaný (zobrazovaný) text číselné informace je nutné převádět na (z) řetězce(ů) TextAlign: specifikuje zarovnání zadávaného (zobrazeného) textu TextLength: délka celého textu 23/05/2018

28 Třída TextBox (4) Metody: Clear: Copy: Cut: Paste: Undo:
smaže zobrazený (zadaný) text Copy: zkopíruje zaznačený text do schránky (Clipboardu) Cut: zkopíruje zaznačený text do schránky (Clipboardu) a následně jej v TextBoxu smaže Paste: vloží text z Clipboardu do prvku TextBox (náhra-dou za zaznačenou část) Undo: vrátí nazpět poslední provedenou operaci 23/05/2018

29 Třída CheckBox (1) Definována ve jmenném prostoru: System.Windows.Forms Umožňuje uživateli zvolit (nezvolit) určitou volbu Vlastnosti: Appearance: specifikuje vzhled Check Boxu: Normal: typický vzhled Check Boxu (se symbolem ) Button: vzhled tlačítka, které je trvale stisknuté (nestisknuté) Checked: určuje, jestli Check Box byl (nebyl) zvolen 23/05/2018

30 Třída CheckBox (2) Události: CheckState: CheckedChanged:
specifikuje stav (třístavového) Check Boxu: zvolený nezvolený zvolený, ale šedivý (grayed) Události: CheckedChanged: nastává při změně vlastnosti Checked CheckStateChanged: dochází k ní při změně vlastnosti CheckState 23/05/2018

31 Třída RadioButton (1) Definována ve jmenném prostoru: System.Windows.Forms Umožňuje uživateli vybrat z několika možnos-tí právě jednu Prvky Radio Button bývají většinou spojeny do logických skupin, v rámci kterých se pro-vádí výlučná volba Skupiny mohou být tvořeny pomocí tříd (kon-tejnerů): GroupBox Panel 23/05/2018

32 Třída RadioButton (2) Vlastnosti: Události: Checked: CheckedChanged:
udává, zda-li Radio Button je (není) zvolen Události: CheckedChanged: nastává při změně vlastnosti Checked vrací informaci, jestli Radio Button byl (nebyl) zvolen 23/05/2018

33 Třída ListBox (1) Definována ve jmenném prostoru: System.Windows.Forms
Představuje ovládací prvek pro zobrazování seznamu položek Zobrazené položky mohou být následně vybrány (zvoleny) Vlastnosti: Items: kolekce popisující jednotlivé položky ListBoxu 23/05/2018

34 Třída ListBox (2) SelectedIndex: SelectedItem: SelectedItems:
obsahuje pořadové číslo zvolné položky (číslování je provedeno od 0) SelectedItem: obsahuje zvolenou položku (typu object) SelectedItems: specifikuje kolekci zvolených položek SelectionMode: určuje způsob, kterým jsou vybírány položky (None, One, MultiSimple, MultiExtended) Sorted: určuje, zda-li položky mají být abecedně seřazeny 23/05/2018

35 Třída ListBox (3) Metody: ClearSelected: FindString: FindStringExact:
zruší vybrání položek FindString: najde první položku, jejíž text začíná zadaným řetěz-cem FindStringExact: najde první položku, jejíž text se rovná zadanému ře-tězci GetSelected: zjišťuje, zda položka se zadaným indexem je zvolena 23/05/2018

36 Třída ListBox (4) Událost:
SelectedIndexChanged: nastává v okamžiku, kdy dojde ke změně vlastnosti SelectedIndex Přidání (odebrání, vsunutí) položky do (z) ListBoxu znamená manipulaci s vlastností Items (kolekce): Add: metoda, která přidá novou položku Clear: metoda, která vymaže všechny položky 23/05/2018

37 Třída ListBox (5) Count: vlastnost udávající počet položek Insert: metoda, která vsune položku na danou pozici (index) Remove: metoda, která odstraní zadanou položku RemoveAt: metoda, která odstraní položku s daným indexem Procházení jednotlivých položek kolekce lze realizovat pomocí příkazu foreach 23/05/2018

38 Třída ListBox (6) Příklad: postupné zpracování všech zvolených polo-žek v ovládacím prvku ListBox foreach (string nazev in lsbSeznam.SelectedItems) { zpracování položky v proměnné nazev } 23/05/2018

39 Třída ComboBox (1) Definována ve jmenném prostoru: System.Windows.Forms Kombinace Text Boxu a List Boxu Obsahuje podobné vlastnosti jako třídy TextBox a ListBox: DroppedDown: udává, jestli je roletový seznam momentálně zobrazen DropDownStyle: určuje styl Combo Boxu: Simple: textová část může být editována roletový seznam je stále viditelný 23/05/2018

40 Třída ComboBox (2) Items: MaxDropDownItems:
textová část může být editována pro zobrazení roletového seznamu je zapotřebí stisknout tlačítko se šipkou DropDownList: textová část nemůže být editována Items: kolekce popisující jednotlivé položky Combo Boxu poskytuje přístup k položkám roletového seznamu MaxDropDownItems: maximální počet položek v roletovém seznamu je-li počet položek větší, je zobrazena rolovací lišta 23/05/2018

41 Třída ComboBox (3) MaxLength: SelectedIndex: SelectedItem:
maximální počet znaků, které lze zadat do editační části SelectedIndex: specifikuje index zvolené položky ze seznamu položky jsou indexovány od hodnoty 0 SelectedItem: udává zvolenou položku ze seznamu SelectedText: zaznačený text v editační části Sorted: specifikuje, zda-li mají být řetězce v roletové části abecedně seřazené 23/05/2018

42 Třída ComboBox (4) Metody: Události: FindString: FindStringExact:
najde první položku, jejíž text začíná zadaným řetězcem FindStringExact: najde první položku, jejíž text se rovná zadanému řetězci Události: DropDown: vzniká v okamžiku, kdy uživatel otevře roletovou část SelectedIndexChanged: nastává v okamžiku, kdy dojde ke změně vlastnosti SelectedIndex 23/05/2018

43 Třídy HScrollBar a VScrollBar (1)
Definovány ve jmenném prostoru: System.Windows.Forms Reprezentují horizontální a vertikální rolova-cí lišty Vlastnosti: Dock: specifikuje umístění rolovací lišty LargeChange: udává změnu, o kterou se má ScrollBar posunout, jestliže uživatel stiskne tlačítko myši na liště 23/05/2018

44 Třídy HScrollBar a VScrollBar (2)
Maximum, Minimum: specifikují minimální a maximální pozici ScrollBaru SmallChange: udává změnu, o kterou se má ScrollBar posunout, jestliže uživatel stiskne tlačítko myši na tlačítku (ScrollBaru) se šipkou Value: udává aktuální pozici ScrollBaru Událost: Scroll: vzniká v okamžiku, kdy uživatel provádí rolování po-mocí myši nebo klávesnice 23/05/2018


Stáhnout ppt "Windows Forms Rozhraní pro programování grafických apli-kací"

Podobné prezentace


Reklamy Google