V - PowerPoint PPT Presentation

About This Presentation
Title:

V

Description:

... (WPF): st zdrojov ho ... ScrollBar StatusBar 1 1 4 4 PictureBox ToolBar 3 3 Menu ContextMenu Application MessageBox MainMenu MenuItem 2 2 Graphics ... – PowerPoint PPT presentation

Number of Views:84
Avg rating:3.0/5.0
Slides: 53
Provided by: Dr231482
Category:
Tags: graphics

less

Transcript and Presenter's Notes

Title: V


1
Výjimky (1)
  • Výjimky dovolují tvorbu programu, které mo-hou
    reagovat na ruzné chybové stavy vzniklé v jeho
    prubehu
  • Cílem výjimek je ucinit programy robustnejší tím,
    že jsou rozšíreny o schopnosti správy chyb
    vzniklých na úrovni aplikace nebo ope-racního
    systému
  • V jazyku C jsou všechny výjimky instancí trídy
    Exception nebo jejich následníku

2
Výjimky (2)
  • Mechanismus výjimek je v jazyce C založen na
    klícových slovech
  • try
  • vymezuje zacátek chráneného bloku kódu
  • jestliže nejaká operace v tomto bloku zpusobí
    výjimku, pak je okamžite rízení predáno do bloku,
    který je umí-stený za klícovým slovem catch
  • catch
  • slouží k zápisu bloku, který se provede jestliže
    ve sdruženém chráneném bloku dojde ke vzniku
    výjimky
  • po bloku try muže následovat více bloku catch, z
    nichž každý slouží pro ošetrení specifického typu
    výjimky

3
Výjimky (3)
  • blok catch se zapisuje ve tvarucatch
    (typ_výjimky promenná) ošetrení výjimky
  • promenná obsahuje objekt vyjadrující podrobné
    úda-je o vzniklé výjimce (napr. vlastnost Message
    obsa-huje textový popis chyby, která zpusobila
    výjimku)
  • poznámka
  • promenná muže být v zápisu bloku catch vynechána
  • finally
  • udává volitelný blok používaný vetšinou k
    uvolnení zdroju alokovaných v bloku try

4
Výjimky (4)
  • príkazy v tomto bloku jsou vykonány vždy, tzn. v
    prí-pade výskytu výjimky i v prípade normálního
    prove-dení
  • throw
  • slouží k vyvolání výjimky
  • Jestliže pri provádení príkazu v bloku try dojde
    ke vzniku výjimky, které neodpovídá žádný blok
    catch, potom
  • metoda, v níž byl použitý blok try je ukoncenaa
    rízení se vrátí do volající metody
  • jestliže volající metoda používá blok try, pak se
    hledá ošetrení výjimky v blocích catch tohoto
    bloku try

5
Výjimky (5)
  • jestliže volající metoda nepoužívá blok try nebo
    nedefinuje odpovídající ošetrení v bloku catch,
    pak je volající metoda ukoncena rízení se vrací
    její volající metode, kde se celý proces opakuje
  • pokud je nakonec nalezeno ošetrení vzniklé
    vý-jimky, tak se provedou príkazy popsané v
    prísluš-ném bloku catch a poté se pokracuje
    prvním príkazem za blokem catch v metode, která
    vý-jimku zachytila
  • není-li nikde nalezeno ošetrení vzniklé výjimky,
    pak je program ukoncen

6
Cástecné trídy (1)
  • Jazyk C dovoluje rozdelit zdrojový kód trí-dy do
    více samostatných souboru
  • Používáno velmi casto pri tvorbe aplikací
    vy-užívajících rozhraní Windows Forms nebo
    Windows Presentation Foundation (WPF)
  • cást zdrojového kódu trídy, kterou programátor
    muže rucne upravovat, je uložena v souboru
    od-deleném od kódu, který generuje prímo Visual
    Studio
  • Jestliže je trída rozdelena do více souboru, musí
    jednotlivé cásti trídy (v každém soubo-ru) být
    oznaceny klícovým slovem partial

7
Cástecné trídy (2)
  • Príklad (uloženo napr. v souboru
    Prog1.cs)partial class Ctverec private int
    strana
  • public Ctverec(int pocatecniStrana)
  • strana pocatecniStrana
  • public int GetStrana()
  • return strana

8
Cástecné trídy (3)
  • Príklad (uloženo napr. v souboru
    Prog2.cs)partial class Ctverec public int
    UrciObsah()
  • return stranastrana public int
    UrciObvod()
  • return 4strana

9
Windows Forms
  • Rozhraní pro programování grafických apli-kací
  • Soucást MS .NET Framework
  • Poskytuje sadu tríd umožnujících prístup ke
    standardním ovládacím prvkum operacního systému
    MS Windows (okno, tlacítko, menu, editacní prvek
    atd.)
  • Aplikace psané pomocí Windows Forms jsou
    událostmi rízené

10
Hierarchie tríd
Object
1
4
3
2
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
4
3
2
MessageBox
11
Trída Application (1)
  • Definována ve jmenném prostoruSystem.Windows.For
    ms
  • Poskytuje metody, vlastnosti a události
    umož-nující rídit beh aplikace
  • Všechny cleny trídy Application jsou sta-tické
  • Poznámka
  • trída Application je definována s modifikáto-rem
    sealed ? není možné definovat trídu, která by
    byla jejím potomkem

12
Trída Application (2)
  • Vlastnosti
  • ExecutablePath
  • vrací název souboru (vcetne cesty), který spustil
    ap-likaci
  • OpenForms
  • vrací kolekci otevrených formuláru, které
    aplikace vlastní
  • StartupPath
  • vrací cestu k souboru, který spustil aplikaci
    (bez jmé-na souboru)

13
Trída Application (3)
  • Metody
  • Restart
  • ukoncí aplikaci a provede její opetovné spuštení
  • Run
  • zahájí standardní cyklus ocekávající príchod
    zprávy (události)
  • je-li jejím parametrem formulár (okno), pak se
    pro-vede jeho zobrazení a metoda Run nevrátí
    rízení, do-kud daný formulár není uzavren
  • typicky používána pro zobrazení hlavního okna
    apli-kace

14
Trída Control (1)
  • Definována ve jmenném prostoruSystem.Windows.For
    ms
  • Základní trída pro ovládací prvky systému MS
    Windows (komponenty s vizuální repre-zentací),
    napr.
  • formuláre (okna)
  • tlacítka
  • editacní pole
  • rolovací lišty
  • Implementuje základní podporu pro odpoví-dající
    objekty

15
Trída Control (2)
  • Vlastnosti
  • BackColor
  • 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 šírku) klientské cásti
    ovláda-cího prvku
  • ContextMenuStrip
  • urcuje kontextové menu zobrazené když uživatel
    stiskne pravé tlacítko myši

16
Trída Control (3)
  • Cursor
  • urcuje 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štuje, zda má ovládací prvek vstupní zamerení
    (focus)
  • Font
  • specifikuje font textu použitého v ovládacím
    prvku
  • ForeColor
  • urcuje barvu popredí ovládacího prvku (napr. u
    tla-cítka se jedná o barvu textu)
  • Handle
  • vrací popisovac (handle) daného ovládacího prvku

17
Trída Control (4)
  • Height
  • výška ovládacího prvku
  • Left
  • x-ová souradnice levého horního rohu ovládacího
    prvku
  • Location
  • souradnice levého horního rohu ovládacího prvku
  • Name
  • jedinecné jméno ovládacího prvku
  • Size
  • výška a šírka ovládacího prvku
  • TabIndex
  • urcuje poradí komponenty, ve kterém pri stisku
    klá-vesy TAB získává vstupní zamerení (focus)

18
Trída Control (5)
  • TabStop
  • urcuje, zda uživatel muže ovládací prvek vybrat
    po-mocí klávesy TAB
  • Text
  • specifikuje text (titulek) ovládacího prvku
  • Top
  • y-ová souradnice levého horního rohu ovládacího
    prvku
  • Visible
  • udává, zda je (není) ovládací prvek viditelný
  • Width
  • šírka ovládacího prvku
  • Metody
  • Focus
  • nastavuje ovládacímu prvku vstupní zamerení
    (focus)

19
Trída Control (6)
  • Hide
  • skryje ovládací prvek
  • ekvivalentní nastavení vlastnosti Visible na
    hod-notu false
  • Invalidate
  • dává požadavek na prekreslení ovládacího prvku
  • Refresh
  • vynucuje prekreslení ovládacího prvku
    (ekvivalentní vyvolání metod Invalidate Update)
  • Show
  • uciní ovládací prvek viditelný
  • ekvivalentní nastavení vlastnosti Visible na
    hod-notu true

20
Trída Control (7)
  • Update
  • provede prekreslení ovládacího prvku (pouze pokud
    byl predtím dán požadavek pomocí Invalidate)
  • Události
  • Click
  • dojde k ní pri klepnutí primárním (levým)
    tlacítkem na ovládací prvek
  • DoubleClick
  • dojde k ní pri double-clicku primárním (levým)
    tla-cítkem myši na ovládací prvek
  • Enter
  • dojde k ní v dobe, kdy je ovládací prvek aktivován

21
Trída Control (8)
  • KeyPress
  • dojde k ní pri stisku klávesy a je poslána
    ovládacímu prvku mající vstupní zamerení (focus)
  • je vyvolána pouze v prípade, že se jedná o
    klávesu reprezentující znak
  • pro klávesy, které nereprezentují znak je
    zapotrebí provést obsluhu události KeyDown, popr.
    KeyUp
  • Leave
  • nastává v okamžiku, kdy vstupní zamerení opouští
    ovládací prvek
  • MouseDown
  • dojde k ní když kurzor myši je nad ovládacím
    prv-kem a je proveden stisk nekterého tlacítka
    myši

22
Trída Control (9)
  • MouseMove
  • dojde k ní pri pohnutí myší nad ovládacím prvkem
  • MouseUp
  • dojde k ní když kurzor myši je nad ovládacím
    prvkem a je provedeno uvolnení stisknutého
    tlacítka myši
  • Paint
  • dojde k ní v dobe, kdy je ovládací prvek
    prekreslo-ván
  • Resize
  • nastává v okamžiku, kdy se u ovládacího prvku
    mení jeho velikost
  • TextChanged
  • dojde k ní pri zmene textu ovládacího prvku

23
Trída Form (1)
  • Definována ve jmenném prostoruSystem.Windows.For
    ms
  • Reprezentuje standardní okna (formuláre) aplikace
  • Trída Form muže být využita pro vytvorení a
    správu napr.
  • hlavního okna aplikace
  • dialogových oken
  • oken pro aplikace MDI (Multiple Document
    Interface)

24
Trída Form (2)
  • Vlastnosti
  • AcceptButton
  • specifikuje tlacítko v okne, které je stisknuto v
    okam-žiku, kdy uživatel stiskne klávesu Enter
  • ActiveControl
  • nastavuje (zjištuje), který ovládací prvek v okne
    bude mít (má) vstupní zamerení (focus)
  • zdedeno od trídy ContainerControl
  • ActiveForm
  • vrací aktuální (aktivní) formulár aplikace
  • ActiveMdiChild
  • vrací aktuální (aktivní) formulár v aplikaci MDI

25
Trída Form (3)
  • CancelButton
  • specifikuje tlacítko v okne, 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 (napr. Sizable
    FixedSingle, Fixed3D, FixedDialog)
  • HelpButton
  • specifikuje, zda-li má být v titulním proužku
    zobra-zeno tlacítko pro nápovedu
  • Icon
  • specifikuje ikonu formuláre (okna) .ico

26
Trída Form (4)
  • KeyPreview
  • urcuje, zda má formulár prijímat stisknuté
    klávesy dríve než ovládací prvek mající vstupní
    zamerení (focus)
  • MainMenuStrip
  • specifikuje hlavní menu formuláre (okna)
  • MaximizeBox
  • specifikuje, zda-li má být v titulním proužku
    zobrazeno tlacítko pro maximalizaci
  • MinimizeBox
  • specifikuje, zda-li má být v titulním proužku
    zobrazeno tlacítko pro minimalizaci
  • StartPosition
  • urcuje pocátecní pozici okna (napr. CenterScreen,
    Manual, WindowsDefaultLocation)

27
Trída Form (5)
  • WindowState
  • udává stav okna (Normal, Minimized, Maximized)
  • Metody
  • Activate
  • aktivuje okno (predává mu vstupní zamerení)
  • Close
  • provede uzavrení okna
  • LayoutMdi
  • usporádá dceriná okna aplikace MDI (Cascade,
    TileHorizontal, TileVertical, ArrangeIcons)
  • ShowDialog
  • zobrazí okno jako modální dialogové okno

28
Trída Form (6)
  • Události
  • Activated
  • vzniká v dobe, kdy se formulár (okno) stává
    aktivním
  • Deactivate
  • vzniká pri deaktivaci okna (ztráte vstupního
    zamerení)
  • FormClose
  • nastává poté, kdy je formulár (okno) uzavren
  • FormClosing
  • nastává v okamžiku, kdy se formulár (okno)
    uzavírá
  • Load
  • nastává pred prvním zobrazením okna
  • Shown
  • nastane, když je okno poprvé zobrazeno

29
Trída MessageBox (1)
  • Definována ve jmenném prostoruSystem.Windows.For
    ms
  • Zobrazuje okno, které muže obsahovat
  • text
  • tlacítka
  • symboly (ikony)
  • Pro zobrazení MessageBoxu se používá me-toda
    Show, která
  • je definovaná 21 ruznými zpusoby (overloading)
  • vrací hodnotu typu DialogResult vyjadrující,
    kterým tlacítkem byl MessageBox ukoncen

30
Trída MessageBox (2)
  • Tlacítka jsou typu MessageBoxButtons, který
    definuje konstanty vyjadrující jaká tlací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

31
Trída Button
  • Definována ve jmenném prostoruSystem.Windows.For
    ms
  • Reprezentuje tlacítko
  • Vlastnosti
  • DialogResult
  • urcuje, zda (a jak) tlacítko uzavírá svuj modální
    rodi-covský formulár
  • hodnota DialogResult je vrácena metodou
    ShowDialog
  • Metody
  • PerformClick
  • simuluje uživatelský stisk tlacítka

32
Trída Label
  • Definována ve jmenném prostoruSystem.Windows.For
    ms
  • Ovládací prvek dovolující zobrazit textovou
    informaci
  • Vlastnosti
  • Text
  • specifikuje zobrazený text
  • Poznámka
  • je-li zapotrebí zobrazit císelný údaj, pak je
    nez-bytné jej nejprve prevést na retezec (pomocí
    metody ToString nebo trídy Convert)

33
Trída TextBox (1)
  • Definována ve jmenném prostoruSystem.Windows.For
    ms
  • 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á rádky textu v TextBoxu
  • používané zejména u vícerádkových TextBoxu

34
Trída TextBox (2)
  • MaxLength
  • maximální pocet znaku, které lze zadat (0 znací
    bez omezení)
  • Multiline
  • urcuje, zda-li do TextBoxu muže být zadáno více
    rádku
  • PasswordChar
  • maskovací znak, který se bude zobrazovat místo
    za-dávaných znaku
  • ReadOnly
  • znací TextBox urcený pouze ke ctení
  • SelectionLength
  • pocet znaku v zaznaceném textu

35
Trída TextBox (3)
  • SelectionStart
  • pocátecní pozice aktuálne zaznaceného textu
  • SelectedText
  • specifikuje aktuálne zaznacený text
  • Text
  • udává zadaný (zobrazovaný) text
  • císelné informace je nutné prevádet na (z)
    retezce(u)
  • TextAlign
  • specifikuje zarovnání zadávaného (zobrazeného)
    textu
  • TextLength
  • délka celého textu

36
Trída TextBox (4)
  • Metody
  • Clear
  • smaže zobrazený (zadaný) text
  • Copy
  • zkopíruje zaznacený text do schránky (Clipboardu)
  • Cut
  • zkopíruje zaznacený text do schránky (Clipboardu)
    a následne jej v TextBoxu smaže
  • Paste
  • vloží text z Clipboardu do prvku TextBox
    (náhra-dou za zaznacenou cást)
  • Undo
  • vrátí nazpet poslední provedenou operaci

37
Trída CheckBox (1)
  • Definována ve jmenném prostoruSystem.Windows.For
    ms
  • Umožnuje uživateli zvolit (nezvolit) urcitou
    volbu
  • Vlastnosti
  • Appearance
  • specifikuje vzhled Check Boxu
  • Normal typický vzhled Check Boxu (se symbolem ?)
  • Button vzhled tlacítka, které je trvale
    stisknuté (nestisknuté)
  • Checked
  • urcuje, jestli Check Box byl (nebyl) zvolen

38
Trída CheckBox (2)
  • CheckState
  • specifikuje stav (trístavového) Check Boxu
  • zvolený
  • nezvolený
  • zvolený, ale šedivý (grayed)
  • Události
  • CheckedChanged
  • nastává pri zmene vlastnosti Checked
  • CheckStateChanged
  • dochází k ní pri zmene vlastnosti CheckState

39
Trída RadioButton (1)
  • Definována ve jmenném prostoruSystem.Windows.For
    ms
  • Umožnuje uživateli vybrat z nekolika možnos-tí
    práve jednu
  • Prvky Radio Button bývají vetšinou spojeny do
    logických skupin, v rámci kterých se pro-vádí
    výlucná volba
  • Skupiny mohou být tvoreny pomocí tríd
    (kon-tejneru)
  • GroupBox
  • Panel

40
Trída RadioButton (2)
  • Vlastnosti
  • Checked
  • udává, zda-li Radio Button je (není) zvolen
  • Události
  • CheckedChanged
  • nastává pri zmene vlastnosti Checked
  • vrací informaci, jestli Radio Button byl (nebyl)
    zvolen

41
Trída ListBox (1)
  • Definována ve jmenném prostoruSystem.Windows.For
    ms
  • Predstavuje ovládací prvek pro zobrazování
    seznamu položek
  • Zobrazené položky mohou být následne vybrány
    (zvoleny)
  • Vlastnosti
  • Items
  • kolekce popisující jednotlivé položky ListBoxu

42
Trída ListBox (2)
  • SelectedIndex
  • obsahuje poradové císlo zvolné položky (císlování
    je provedeno od 0)
  • SelectedItem
  • obsahuje zvolenou položku (typu object)
  • SelectedItems
  • specifikuje kolekci zvolených položek
  • SelectionMode
  • urcuje zpusob, kterým jsou vybírány položky
    (None, One, MultiSimple, MultiExtended)
  • Sorted
  • urcuje, zda-li položky mají být abecedne serazeny

43
Trída ListBox (3)
  • Metody
  • ClearSelected
  • zruší vybrání položek
  • FindString
  • najde první položku, jejíž text zacíná zadaným
    retez-cem
  • FindStringExact
  • najde první položku, jejíž text se rovná zadanému
    re-tezci
  • GetSelected
  • zjištuje, zda položka se zadaným indexem je
    zvolena

44
Trída ListBox (4)
  • Událost
  • SelectedIndexChanged
  • nastává v okamžiku, kdy dojde ke zmene vlastnosti
    SelectedIndex
  • Pridání (odebrání, vsunutí) položky do (z)
    ListBoxu znamená manipulaci s vlastností Items
    (kolekce)
  • Add
  • metoda, která pridá novou položku
  • Clear
  • metoda, která vymaže všechny položky

45
Trída ListBox (5)
  • Count
  • vlastnost udávající pocet 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í príkazu foreach

46
Trída ListBox (6)
  • Príkladpostupné zpracování všech zvolených
    polo-žek v ovládacím prvku ListBoxforeach
    (string nazev in lsbSeznam.SelectedItems)
    zpracování položky v promenné nazev

47
Trída ComboBox (1)
  • Definována ve jmenném prostoruSystem.Windows.For
    ms
  • Kombinace Text Boxu a List Boxu
  • Obsahuje podobné vlastnosti jako trídy TextBox a
    ListBox
  • DroppedDown
  • udává, jestli je roletový seznam momentálne
    zobrazen
  • DropDownStyle
  • urcuje styl Combo Boxu
  • Simple
  • textová cást muže být editována
  • roletový seznam je stále viditelný

48
Trída ComboBox (2)
  • DropDown
  • textová cást muže být editována
  • pro zobrazení roletového seznamu je zapotrebí
    stisknout tlacítko se šipkou
  • DropDownList
  • textová cást nemuže být editována
  • pro zobrazení roletového seznamu je zapotrebí
    stisknout tlacítko se šipkou
  • Items
  • kolekce popisující jednotlivé položky Combo Boxu
  • poskytuje prístup k položkám roletového seznamu
  • MaxDropDownItems
  • maximální pocet položek v roletovém seznamu
  • je-li pocet položek vetší, je zobrazena rolovací
    lišta

49
Trída ComboBox (3)
  • MaxLength
  • maximální pocet znaku, které lze zadat do
    editacní cá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
  • zaznacený text v editacní cásti
  • Sorted
  • specifikuje, zda-li mají být retezce v roletové
    cásti abecedne serazené

50
Trída ComboBox (4)
  • Metody
  • FindString
  • najde první položku, jejíž text zacíná zadaným
    retezcem
  • FindStringExact
  • najde první položku, jejíž text se rovná zadanému
    retezci
  • Události
  • DropDown
  • vzniká v okamžiku, kdy uživatel otevre roletovou
    cást
  • SelectedIndexChanged
  • nastává v okamžiku, kdy dojde ke zmene vlastnosti
    SelectedIndex

51
Trídy HScrollBar a VScrollBar (1)
  • Definovány ve jmenném prostoruSystem.Windows.For
    ms
  • Reprezentují horizontální a vertikální rolova-cí
    lišty
  • Vlastnosti
  • Dock
  • specifikuje umístení rolovací lišty
  • LargeChange
  • udává zmenu, o kterou se má ScrollBar posunout,
    jestliže uživatel stiskne tlacítko myši na lište

52
Trídy HScrollBar a VScrollBar (2)
  • Maximum, Minimum
  • specifikují minimální a maximální pozici
    ScrollBaru
  • SmallChange
  • udává zmenu, o kterou se má ScrollBar posunout,
    jestliže uživatel stiskne tlacítko myši na
    tlací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
Write a Comment
User Comments (0)
About PowerShow.com