Stručný obsah Úvod Základy Algoritmy Práce s kolekcemi Regulární výrazy a práce s textem Ovládací prvky Datum a čas Databáze Práce se soubory XML Práce se sítí – System.Net WinAPI Práce s 2D grafikou Procesy a podprocesy Systém Překlad a vývojové prostředí Multimédia Zabezpečení Dynamické knihovny Předdefinované dialogy Tisk Popis nástrojů z přiloženého DVD Rejstřík
K1866.indd 3
27 29 59 83 117 143 195 203 239 257 271 289 295 333 343 359 369 381 389 393 399 405 405
22.9.2011 9:18:30
K1866.indd 4
22.9.2011 9:18:30
Obsah Úvod Co v knize najdete Poděkování
Základy 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
K1866.indd 5
Jak na komentáře Jak na dokumentační komentáře Přehled značek XML dokumentace Vykonání příkazu po splnění podmínky (neúplný příkaz if) Vykonání příkazu i po nesplnění podmínky (úplný příkaz if) Správné použití logických operátorů Kladení několika podmínek (příkaz switch) Omezení kladená na příkaz switch Nejjednodušší výpis čísel pomocí cyklu for Dynamické počítání iterační proměnné (cyklus for bez aktualizační části) Využití možnosti neprovést cyklus ani jednou (cyklus while) Možnost kontroly podmínky po vykonání příkazu (cyklus do-while) Výpis všech prvků pole (cyklus foreach) Nucené ukončení jednotlivého průchodu cyklem – příkaz continue Násilné ukončení běhu cyklu – příkaz break Přehled předdefinovaných datových typů Balení a vybalování (boxing a unboxing) Jak zjistit datový typ hodnoty uložené v proměnné typu object Upozornění na zastaralou metodu Metoda s proměnným počtem parametrů (klíčové slovo params) Jak potlačit funkčnost metody rodičovské třídy ve třídě odvozené Vyvoláváme výjimku Vyvoláváme výjimku se specifickým hlášením Jak zachytit výjimku Zachytávání více druhů výjimek Jak vyvolat výjimku u tichého přetečení (příkaz checked) Provedení příkazu výjimka/nevýjimka (blok finally) Jak získat chybovou zprávu vyvolané výjimky Vykonání příkazu i po chybovém hlášení (return v bloku try) Předávání parametrů odkazem (použití klíčového slova ref) Předávání parametru bez přiřazení hodnoty (použití klíčového slova out) Modifikátory určující přístup k položkám třídy Deklarace konstruktoru Kopírování tříd a struktur Zjištění, zda je objekt referenční typ, nebo hodnotový typ Rozdíly mezi třídou a strukturou Jak rozdělit třídu na více částí (.NET 2.0) Přístup ke třídě bez nové instance (využití statické třídy) Definice rozhraní společného pro odvozené třídy (abstraktní třída) Deklarace zapečetěné třídy Deklarace výčtového typu
27 27 27
29 29 29 29 30 31 31 31 32 32 32 32 33 33 34 34 34 35 35 35 36 36 37 37 37 38 38 38 39 39 40 40 41 41 42 42 42 43 43 44 45 45
22.9.2011 9:18:31
6
Obsah
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
Vypsání jednotlivých položek výčtového typu Vypsání jednotlivých položek výčtového typu 2 Jak vykonávat daný kód neustále dokola Jak vykonávat daný kód neustále dokola bez zamrznutí Jak nastavit proměnnou pouze pro čtení Jak deklarovat vlastnost Co jsou a k čemu slouží vlastnosti Přetěžování operátorů Co je a k čemu slouží indexer Deklarace metody Přetěžování metod Modifikátory metod Ukončení běhu metody s vrácením její návratové hodnoty (return) Deklarace konstanty Import jmenných prostorů (příkaz using) Jak zjistit, zda nulovatelný datový typ obsahuje nějakou hodnotu Podmíněný překlad kódu Zjištění, zda aplikace běží v režimu ladění, či nikoli Číslování řádků kódu při překladu (direktiva #line) Ukrytí řádků kódu před debuggerem (direktiva #line hidden) Výpis textu při překladu (direktiva #warning) Výpis chybové hlášky při překladu (direktiva #error) Rozdělování kódu na přehlednější oblasti (direktivy #region a #endregion) Zjištění zbytku po dělení dvou čísel Zjištění kompatibility objektu s daným typem (operátor is) Přetypovaní objektu na daný typ (operátor as) Zjištění, jak dopadlo vyhodnocení podmínky (operátor ?:) Reprezentace typu pomocí třídy Type Rozdíl ve využití prefixových a postfixových operátorů
Algoritmy 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
K1866.indd 6
Zjištění, zda je číslo sudé Zjištění, zda je číslo dělitelné jiným beze zbytku Jak získat pole všech prvočísel v intervalu od 2 do N Zjištění minimální a maximální hodnoty číselného typu Vytvoření instance číselného datového typu z řetězce Jak z řetězce získat číslo zapsané s oddělovačem tisíců Jak zaokrouhlit číslo nahoru Jak vypočítat sinus úhlu vyjádřeného ve stupních Jak vypočítat kosinus úhlu vyjádřeného ve stupních Jak vypočítat tangens úhlu vyjádřeného ve stupních Zaokrouhlení čísla na několik desetinných míst Získání absoulutní hodnoty daného čísla Výpočet n-té odmocniny daného čísla Výpočet n-té mocniny daného čísla Zaokrouhlení ceny na padesátihaléře Výpočet logaritmu Převod hodnoty úhlu ve stupních na radiány Vygenerování pseudonáhodného čísla Vygenerování řetězce z náhodných znaků abecedy Vygenerování řetězce z náhodných písmen a číslic Náhodné vygenerování řetězce z předdefinovaných znaků Vygenerování série náhodných čísel
45 45 46 46 47 47 47 48 49 49 50 50 51 51 51 52 52 52 53 53 54 54 54 55 55 55 56 56 57
59 59 59 59 60 60 60 60 61 61 61 61 62 62 62 62 63 63 63 63 64 64 65
22.9.2011 9:18:31
Obsah
93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140
Vygenerování pseudonáhodného čísla typu double v intervalu 0–1 Ověření, zda jde o celé číslo Jak získat desetinnou část čísla Řešení kvadratické rovnice Převedení časového údaje v sekundách na hodiny, minuty a sekundy Nalezení nejmenšího čísla v nesetříděném poli Jak nalézt nejčastěji se vyskytující číslo v poli Nalezení největšího čísla v poli čísel Zjištění souřadnic maxima kvadratické funkce Jak v poli nalézt prvek a vrátit index jeho prvního či posledního výskytu Jak vypočítat aritmetický průměr z hodnot uložených v poli Jak vypočítat geometrický průměr z hodnot uložených v poli Výpočet faktoriálu Výpočet počtu variací n prvků k-té třídy bez opakování Vypočet počtu kombinací z n prvků k-té třídy bez opakování Výpočet počtu kombinací z n prvků k-té třídy s opakováním Jak zjistit trojúhelníkovou nerovnost Zjištění pohlaví z rodného čísla Ověření validity rodného čísla Ověření validity IČO Vypočet poslední (kontrolní) číslice IČO Převod čísla z decimální soustavy do binární Převod čísla ze šestnáctkové soustavy Převod čísla o základu menším než 10 na číslo typu int Převod čísla typu int na číslo v rozmezí 2–16 Jak rozložit číslo na součin prvočísel Seřazení řetězců od nejkratšího po nejdelší Součet prvních n členů aritmetické posloupnosti Součet prvních n členů geometrické posloupnosti Zjištění, zda je posloupnost klesající, konstantní či rostoucí Tvoří čísla uložená v poli aritmetickou posloupnost? Tvoří čísla uložená v poli geometrickou posloupnost? Vypsání všech čísel dělitelných daným číslem v určitém intervalu Výpočet n-té číslice Fibonacciho posloupnosti Výpis písmen anglické abecedy Jsou čísla v poli setříděna od největšího po nejmenší? Jsou čísla v poli setříděna od nejmenšího po největší? Jak setřídit čísla uložená v poli Jak v setříděném poli vyhledat prvek Převrácení pořadí znaků v řetězci Jak vypočítat medián Jak nalézt modus ve skupině čísel Jak vypočítat průměrnou odchylku Jak vypočítat rozptyl Jak vypočítat směrodatnou odchylku Jak spočítat řetězový index Jak spočítat základní index Jak spočítat tempo přírůstku
Práce s kolekcemi 141 142 143
K1866.indd 7
Co je to pole a jak s ním pracovat Vytvoření instance nového pole Jak vytvořit pole z daných prvků
7 65 65 66 66 66 66 67 67 68 68 69 69 69 70 70 70 70 71 71 71 72 72 73 73 73 74 74 75 76 76 76 77 77 78 78 78 78 79 79 79 80 80 80 81 81 81 82 82
83 83 83 83
22.9.2011 9:18:31
8
Obsah
144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197
K1866.indd 8
Zpřístupnění jednotlivých prvků pole Jak zjistit počet prvků pole Jak iterovat jednotlivé prvky jednorozměrného pole pomocí cyklu for Jak iterovat jednotlivé prvky jednorozměrného pole pomocí příkazu foreach Jak překopírovat pole do jiného, tak aby jeho prvky začínaly na konkrétním indexu Jak nastavit všechny prvky pole na určitou hodnotu Jsou všechy prvky v poli stejné? Jak z pole vybrat prvek náhodným způsobem Jak posunout prvky pole o určitý počet pozic (cyklický posun) Jak zjistit, jakého datového typu jsou prvky v poli typu object Jak vytvořit vícerozměrné pole a zjistit počet jeho prvků Vypsání jednotlivých řetězců pole oddělených oddělovačem Jak iterovat jednotlivé prvky dvojrozměrného pole Jak získat počet všech prvků v poli Jak v jednorozměrném poli vyhledat prvek pomocí algoritmu binárního vyhledávání (Binary Search) Jak nastavit prvky pole ležící v určitém rozsahu na jejich implicitní hodnotu Jak převrátit pořadí prvků v poli Jak získat index prvního výskytu prvku v poli Jak získat index posledního výskytu prvku v poli Jak zjistit počet dimenzí pole Jak překopírovat prvky pole, jež začínají na určitém indexu, do pole jiného Jak překopírovat pole do jiného Jak vytvořit mělkou kopii pole Jak setřídit prvky pole Jak setřídit pouze určitý úsek pole Jak získat vrchní hranici pole Jak náhodně promíchat prvky v poli Jak procházet kolekci pomocí enumerátoru Jak deklarovat zubaté pole Co je to zásobník a jak s ním pracovat Jak vytvořit zásobník z jiné kolekce Jak do zásobníku vložit prvek Jak ze zásobníku získat objekt Zjištění, zdali zásobník obsahuje určitý objekt Jak zjistit počet prvků zásobníku Jak iterovat jednotlivé prvky zásobníků Jak ze zásobníku získat objekt, aniž bychom ho odstranili Ověření, zda nevybíráme z prázdného zásobníku Jak odstranit všechny prvky zásobníku Jak převrátit pořadí prvků v zásobníku Jak iterovat jednotlivé prvky zásobníku Co je to fronta a jak s ní pracovat Jak vytvořit frontu z jiné kolekce Jak do fronty vložit prvek Jak prvek z fronty získat Jak zjistit počet prvků fronty Jak zjistit, zda fronta obsahuje konkrétní prvek Jak odstranit všechny prvky z fronty Jak snížit kapacitu fronty na aktuální počet prvků Co je třída System.Collections.ArrayList a k čemu slouží Jak vytvořit instanci třídy ArrayList z jiné kolekce Přidání jiné kolekce Jak z instance třídy ArrayList odstranit rozsah prvků Jak do kolekce typu ArrayList přidat obsah jiné kolekce na zadanou pozici
83 84 84 84 85 85 85 86 86 86 87 87 87 88 88 88 89 89 89 89 90 90 90 90 91 91 91 92 92 93 93 93 93 93 94 94 94 95 95 96 96 96 96 97 97 97 97 98 98 98 98 99 99 99
22.9.2011 9:18:31
Obsah
198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242
Jak vytvořit kolekci typu ArrayList s předem daným počtem prvků Jak do kolekce ArrayList přidat nový objekt Jak odstranit prvek z kolekce ArrayList Jak do kolekce ArrayList přidat prvek na určitou pozici Jak v kolekci ArrayList nahradit určitý prvek Jak převrátit pořadí prvků v kolekci typu ArrayList Jak setřídit prvky kolekce typu ArrayList Jak setřídit pouze určitou část kolekce typu ArrayList Jak v kolekci ArrayList vyhledat prvek Jak vyhledat prvek v určitém úseku kolekce ArrayList Zjištění, zda je možné prvky v kolekci ArrayList setřídit Jak převést prvky kolekce na pole určitého typu Jak vytvořit kopii kolekce typu ArrayList pouze pro čtení Jak vytvořit instanci třídy ArrayList obsahující určitý počet stejných prvků Jak vytvořit instanci třídy ArrayList o stálé velikosti Jak setřídit řetězce v kolekci ArrayList dle národních zvyklostí Co je a k čemu slouží kolekce System.Collections.Hashtable Jak vložit do hešové tabulky objekt s určitým klíčem Jak zjistit délku kolekce Hashtable Jak z kolekce Hashtable získat hodnotu určenou daným klíčem Zjištění, zda hešová tabulka obsahuje určitý klíč Zjištění, zda hešová tabulka obsahuje určitou hodnotu Jak nahradit určitý prvek v hešové tabulce jiným Jak iterovat jednotlivé prvky či klíče hešové tabulky Co je a k čemu slouží třída System.Collections.SortedList Jak do seznamu přidat prvek s daným klíčem Ověření, zda kolekce již neobsahuje klíč, který do ní chceme vložit Jak odstranit prvek z kolekce Zjištění, zda kolekce typu SortedList obsahuje určitý klíč či určitou hodnotu Jak z kolekce SortedList získat určitou hodnotu Získání kolekce všech hodnot Jak pozměnit hodnotu určitého prvku v kolekci typu SortedList Jak získat jeden či všechny klíče kolekce typu SortedList K čemu slouží bitové pole (System.Collections.BitArray) Jaké existují argumenty konstruktoru třídy BitArray Jak na bitový součin (AND) Jak na exkluzivní nebo (XOR) Jak na bitovou negaci (NOT) Jak na bitové nebo (OR) Jak nastavit všechny logické hodnoty kolekce typu BitArray na určitou hodnotu K čemu se dají využít generické kolekce Jak iterovat slovníkové kolekce Vytvoření nové instance generické třídy Jak vytvořit vlastní komparátor Jak vytvořit vlastní enumerátor kolekce
Regulární výrazy a práce s textem 243 244 245 246 247 248
K1866.indd 9
Jak zjistit, zda řetězec začíná či končí určitým podřetězcem Jak zjistit, zda jsou dva řetězce shodné Jak zjistit, zda jsou dva řetězce shodné bez ohledu na velikost písmen Zjištění indexu prvního výskytu podřetězce v řetězci Jak zjistit index posledního výskytu podřetězce v řetězci Převedení pole bajtů na řetězec a naopak
9 99 100 100 100 100 101 102 102 102 103 103 103 104 104 104 105 105 106 106 106 106 107 107 107 108 108 108 108 109 109 109 110 110 110 111 111 111 112 112 112 112 113 113 113 114
117 117 117 117 118 118 118
22.9.2011 9:18:31
10
Obsah
249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302
K1866.indd 10
Jak vložit jeden řetězec do druhého Jak z řetězce odstranit vybrané podřetězce Vypsání textu po řádkách Jak vypsat jednotlivá slova v řetězci Jak zjistit počet slov a vět v řetězci Zjištění, zda je řetězec celým číslem Změna počátečních písmen ve větě na velká Jak v řetězci napsat uvozovky Nastavení velikosti písmen určitého řetězce Jak zjistit délku řetězce Jak doplnit řetězec zleva či zprava nějakým znakem Jak umístit každou větu řetězce na samostatný řádek Převod pole znaků na řetězec Jak převést řetězec na pole znaků Odstranění zdvojených mezer v řetězci Ukončení vět v řetězci tečkami Jak zjistit, zda je znak číslem Jak zjistit, zda je znak velké, či malé písmeno Jak v řetězci vyhledat slova napsaná velkými písmeny Jak převést číslo na řetězec Konverze řetězce na číslo Vyjmutí podřetězce ze řetězce Jak vybrat z řetězce podřetězec, který začíná určitým podřetězcem Jak vybrat z daného řetězce řetězec, který končí určitým podřetězcem Jak do řetězce přidat nový řádek Jak rozdělit řetězec pomocí oddělovačů Převedení znaku typu string na char Odstranění části řetězce Jak vypsat řetězec po jednotlivých znacích Spojování řetězců Procházení jednotlivých znaků řetězce Odstranění zadaných znaků ze začátku či konce řetězce Vyhledání řetězce podle regulárního výrazu Vyhledání více podřetězců v řetězci Jak zjistit, zda řetězec obsahuje podřetězec definovaný regulárním výrazem Jak zjistit délku nalezeného podřetězce Nastavení kritérií regulárních výrazů Jak zjistit počet nalezených podřetězců Odstranění nalezeného podřetetězce ze řetězce Jak ze zdrojového kódu vybrat poznámky (komentáře) Jak zjistit index prvního výskytu hledaného řetězce Jak v řetězci nahradit nalezené podřetězce Jak nastavit vyhledávání podřetězců v řetězci od konce Vyhledání IP adres v řetězci Nalezení rodného čísla v řetězci Vyhledání IP adres v řetězci a kontrola, zdali je IP validní Jak očíslovat jednotlivé řádky v řetězci Jak vyhledat v řetězci datum ve formátu dd.mm.rrrr Jak vyhledat v řetězci čas ve formátu hh.mm.ss Jak v řetězci vyhledat webovou adresu Jak v řetězci vyhledat e-mailovou adresu Jak v řetězci najít cestu k souboru či ke složce Je zadána cesta k souboru, či ke složce? Získání jednotlivých vět z řetězce
118 119 119 119 120 120 121 121 121 121 122 122 122 123 123 123 124 124 124 125 125 125 126 126 126 127 127 127 128 128 128 129 129 129 130 130 131 131 132 132 133 133 134 134 135 135 136 136 137 137 138 138 138 139
22.9.2011 9:18:31
Obsah
303 304 305 306 307 308 309 310
Jak získat z řetězce slova uzavřená do uvozovek Jak v textu nalézt vzorec lineární rovnice ve tvaru y = ±ax ± b Jak získat jednotlivé parametry lineární rovnice Nalezení kvadratické rovnice ve tvaru y= ±ax2 ±bx ±c Získání jednotlivých koeficientů kvadratické rovnice Jak v řetězci najít jméno osoby Jak získat stanovený počet podřetězců nalezených v řetězci Zjištění počtu řádků v řetězci
Ovládací prvky 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353
K1866.indd 11
Jak otevřít nové okno Nastavení či zjištění titulku formuláře Nastavení rozměrů formuláře Zjištění rozměrů formuláře Jak skrýt nebo zobrazit okno Jak skrýt zobrazení okna v hlavní liště Jak nastavit pozici okna Jak zjistit pozici formuláře na obrazovce Zjištění, že se změnila pozice formuláře Jak detekovat změnu rozměrů formuláře Jak minimalizovat nebo maximalizovat okno Zjištění, zda je okno minimalizováno, nebo maximalizováno Nastavení průhlednosti okna Nastavení barvy a stylu písma daného formuláře Nastavení stylu písma daného formuláře Nastavení průhledné klientské oblasti Nastavení kurzoru, jež bude zobrazen nad oknem aplikace Nastavení obrázku na pozadí okna Jak zamezit problikávání obrázku na pozadí okna Způsoby umístění obrázku na pozadí Jak znepřístupnit veškeré prvky na formuláři Jak nastavit ikonu aplikace Nastavení nejmenšího a největšího možného rozměru formuláře Jak nastavit okno bez titulkové lišty Nastavení okrajů formuláře Jak z formuláře odstranit tlačítko pro minimalizování či maximalizování okna Odstranění tlačítek lišty daného formuláře Nastavení rozměrů okna při jeho maximalizování Jak zobrazit okno vždy v popředí Vycentrování formuláře Jak nastavit počáteční umístění okna Jak aktivovat okno Jak zamezit úpravám rozměru formuláře Zjištění, zda bylo na formulář klepnuto levým, či pravým tlačítkem myši Zjištění, kterým tlačítkem bylo klepnuto mimo formulář Zjištění souřadnic bodu ukazatele myši nad formulářem Zjištění souřadnic ukazatele myši na obrazovce Znemožnění uzavření okna Zjištění důvodu uzavření okna Uzavření okna Zakreslení okna do obrázku Zachycení stisknuté klávesy Zjištění, zda je okno zobrazeno
11 139 140 140 141 141 141 142 142
143 143 143 143 143 144 144 144 144 144 145 145 145 145 145 146 146 147 147 147 147 148 148 148 148 148 149 149 149 149 149 150 150 150 150 151 151 151 151 152 152 152 153 153
22.9.2011 9:18:31
12
Obsah
354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407
K1866.indd 12
Jak vytvořit vlastněné okno Jak formuláři vytvořit vlastněné okno Jak získat výčet vlastněných oken daného formuláře Jak na formulář přidat komponentu za běhu aplikace Zjištění počtu komponent na formuláři Odstranění komponenty z formuláře Jak odstranit všechny komponenty z formuláře Jak na dětské a hlavní okno v MDI Zjištění, zda jde o dětské okno v MDI Přístup ke kolekci dětských oken Zjištění počtu dětských oken Jak aktivovat dětské okno Jak získat aktivní dětské okno Uspořádání dětských oken Několik způsobů uspořádání dětských oken Tlačítko – jak na zarovnání textu Tlačítko – jak na nastavení vizuálního stylu tlačítka Zaškrtávací políčko – zjištění stavu zaškrtnutí Zaškrtávací políčko – nastavení vzhledu tlačítka Zaškrtávací políčko – nastavení stavu zaškrtnutí Zaškrtávací políčko – trojhodnotová logika Zaškrtávací seznam (CheckedListBox) – zjištění počtu zaškrtnutých políček Zaškrtávací seznam – přidávání záznamů Zaškrtávací seznam – odstranění záznamů Zaškrtávací seznam – ověření existence prvku Zaškrtávací seznam – získání či nastavení hodnoty zaškrtnuté položky Zaškrtávací seznam – nastavení počtu vybíraných položek Zaškrtávací seznam – přístup k označeným položkám Zaškrtávací seznam – nastavení stavu zaškrtnutí políčka Zaškrtávací seznam – zjištění stavu zaškrtnutí označeného záznamu ComboBox – vložení nového záznamu ComboBox – zjištění textu zvoleného záznamu Kontextová nabídka – přiřazení ovladácímu prvku Kontextová nabídka – práce s položkami Kontextová nabídka – zobrazení nabídky Kombo (ComboBox) – naplnění z položek výčtového typu DataGridView – naplnění daty z tabulky DataGridView – nastavení pouze pro čtení a zákaz výběru více hodnot DataGridView – výpis názvů sloupců DataGridView – nastavení způsobu výběru políček DataGridView – označení všech záznamů DataGridView – zrušení označení vybraných záznamů DataGridView – třídění hodnot DataGridView – přístup k jednotlivým hodnotám DataGridView – zákaz kopírování do clipboardu DataGridView – několik druhů kopírování do schránky DataGridView – přidání sloupce obsahujícího zaškrtávací políčko DataGridView – zjištění čísla prvního řádku prvního sloupce DateTimePicker – nastavení data DateTimePicker – nastavení vlastního formátu data DomainUpDown – přesun na předchozí či další hodnotu ErrorProvider – vyvolání chyby ErrorProvider – odstranění varovných ikonek ErrorProvider – nastavení ikony
153 153 154 154 154 154 154 155 155 156 156 156 156 156 156 157 157 158 158 158 158 159 159 159 159 159 160 160 160 160 160 161 161 161 162 162 162 162 163 163 163 163 164 164 164 164 165 165 166 165 166 166 166 166
22.9.2011 9:18:31
Obsah
408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461
K1866.indd 13
ErrorProvider – nastavení blikání varovné ikony ErrorProvider – nastavení odsazení ikony FlowLayoutPanel – nastavení uspořádání jednotlivých komponent Vodorovný posuvník (HScrollBar) – zjištění pozice táhla Vodorovný posuvník – zjištění pozice táhla v procentech Vertikální posuvník (VscrollBar) – zjištění hodnoty táhla Nápis (Label) – změna písma Nápis (Label) – změna barvy písma Seznam (ListBox) – přidání nové hodnoty Seznam (ListBox) – odstranění všech záznamů Seznam (ListBox) – zjištění textu označené položky Seznam (ListBox) – zjištění počtu všech záznamů Seznam (ListBox) – zjištění počtu označených záznamů Seznam (ListView) – vkládání položek Seznam (ListView) – nastavení barvy písma a barvy pozadí jednotlivých záznamů Seznam (ListView) – jak urychlit vkládání položek Seznam (ListView) – skok na poslední položku Seznam (ListView) – povolení označení více položek Seznam (ListView) – vložení záznamu na určitou pozici Seznam (ListView) – odstranění posuvníků Seznam (ListView) – uložení jednotlivých hodnot do pole typu string Seznam (ListView) – procházení označených položek Seznam (ListView) – odstranění všech položek Seznam (ListView) – třídění řetězců Pruh nabídky (MenuStrip) – přidání položky Pruh nabídky (MenuStrip) – odstranění položky Pruh nabídky (MenuStrip) – zjištění, zda je položka označena Pruh nabídky (MenuStrip) – přiřazení obrázku položce Pruh nabídky (MenuStrip) – nastavení stylu písma Kalendář (MonthCalendar) – nastavení data Kalendář (MonthCalendar) – zjištění vybraného data Kalendář (MonthCalendar) – nastavení rozmezí dat Kalendář (MonthCalendar) – nastavení tučně zvýrazněných dat NotifyIcon – zobrazení bublinové nápovědy Číselník (NumericUpDown) – zjištění hodnoty Číselník (NumericUpDown) – nastavení minima a maxima Číselník (NumericUpDown) – zobrazení čísla v šestnáctkové soustavě Panel – pozadí v lineárně gradientním přechodu Panel – překreslení obsahu do bitmapy Panel – nastavení dokování Panel – nastavení ukotvení Obrázek (PictureBox) – načtení obrázku ze souboru či webové adresy PictureBox – načtení obrázku ze souboru PictureBox – přizpůsobení rozměrů rozměrům obrázku PictureBox – zjištění barvy vybraného pixelu obrázku Jak vytvořit indikátor postupu (ProgressBar) Přepínač (RadioButton) – nastavení či zjištění stavu zaškrtnutí RichTextBox – přiblížení obsahu RichTextBox – zjištění počtu slov RichTextBox – zjištění délky textu RichTextBox – zjištění délky označeného textu RichTextBox – nastavení maximální délky textu RichTextBox – načtení obsahu ze souboru RichTextBox – uložení obsahu do souboru
13 167 167 167 168 168 168 168 168 168 169 169 169 169 169 169 170 170 170 170 171 171 171 171 172 172 172 172 173 173 174 174 174 174 174 175 175 175 175 176 176 176 177 177 177 177 178 178 178 178 179 179 179 179 179
22.9.2011 9:18:32
14
Obsah
462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513
K1866.indd 14
RichTextBox – nastavení barvy písma vybraného textu RichTextBox – nastavení stylu a barvy písma RichTextBox – nastavení barvy pozadí RichTextBox – vložení textu ze schránky RichTextBox – zkopírování textu do schránky RichTextBox – vyjmutí textu a uložení do schránky RichTextBox – získání označeného textu RichTextBox – nastavení zarovnání RichTextBox – získání řádků a zjištění jejich počtu RichTextBox – vyhledání řetězce RichTextBox – nastavení způsobu vyhledávání RichTextBox – vyhledávání od konce RichTextBox – vyhledání řetězců a jejich barevné označení RichTextBox – barevné zvýraznění řetězců odpovídajících regulárnímu výrazu RichTextBox – nastavení pozice kurzoru na určitou pozici RichTextBox – nastavení pozice kurzoru na začátek aktuálního řádku RichTextBox – nastavení pozice kurzoru na konec textu RichTextBox – odrážky RichTextBox – nastavení horního a dolního indexu RichTextBox – zobrazení předchozího obsahu TabControl – nastavení nadpisu záložek Textové pole (TextBox) – zjištění textu Textové pole (TextBox) – přečtení číselné hodnoty Textové pole (TextBox) – text na více řádků Textové pole (TextBox) – zjištění počtu řádků Textové pole (TextBox) – maskování znaků Textové pole (TextBox) – text pouze pro čtení Textové pole (TextBox) – nastavení písma a jeho barvy Textové pole (TextBox) – zjištění označeného textu Textové pole (TextBox) – text pouze velkým či malým písmen Textové pole (TextBox) – otevření textového soboru Textové pole (TextBox) – uložení obsahu textového souboru Textové pole (TextBox) – nastavujeme zaměření Jak vytvořit časovač (Timer) Jak na bublinovou nápovědu (ToolTip) Strom (TreeView) – překreslení obsahu do bitmapy Strom (TreeView) – přidání nového uzlu Strom (TreeView) – přístup k jednotlivým uzlům Strom (TreeView) – odstraňování uzlů Strom (TreeView) – získání kořenového uzlu Strom (TreeView) – získání vybrané položky Strom (TreeView) – rozbalení a sbalení položek Strom (TreeView) – zjištění počtu uzlů Webový prohlížeč (WebBrowser) – navigování na stránku Webový prohlížeč (WebBrowser) – zjištění stavu načítání stránky Webový prohlížeč (WebBrowser) – zjištění počtu stažených bajtů dané stránky Webový prohlížeč (WebBrowser) – aktualizace Webový prohlížeč (WebBrowser) – zastavení načítání stránky Webový prohlížeč (WebBrowser) – tisk Webový prohlížeč (WebBrowser) – zjištění, zda je prohlížeč zaneprázdněn Webový prohlížeč (WebBrowser) – zjištění titulku a zdrojového kódu webové stránky Webový prohlížeč (WebBrowser) – vlastnosti webové adresy
179 180 180 180 180 181 181 181 182 182 182 182 183 183 183 184 184 184 184 185 185 185 185 186 186 186 186 186 187 187 187 188 188 188 189 189 190 190 190 190 190 191 191 191 191 192 192 192 192 193 193 193
22.9.2011 9:18:32
Obsah
Datum a čas 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541
Jak zjistit aktuální datum Jak zjistit, zda je rok přestupný Zjištění názvu dnešního dne Jak zjistit, kolikátým dnem v roce je dnešek Zjištění, kolik dní zbývá do konce roku Jak zjistit počet dnů v určitém měsíci Vytvoření data ze dne, měsíce a roku Jak zjistit, které ze dvou dat je starší Zjištění aktuálního času ve tvaru hh.mm.ss Zjištění, kolik dní uplynulo mezi dvěma daty Zjištění, kolik celých měsíců je mezi dvěma daty Jak zjistit, jaký je aktuální rok, měsíc či den Vypsání data podle nastavení dané kultury Vytvoření instance struktury DateTime z rodného čísla Zjištění průměrného věku určité skupiny Setřídění pole kalendářních dat od nejstaršího po nejnovější Spočtení věku osoby v letech na základě zadaného data Jak zjistit, kolik dní víkendu leží mezi dvěma daty Zjištění ročního období dle data Nalezení nejstaršího data v poli Nalezení nejnovějšího data v poli Sečtení dvou časů Odečtení dvou časů Zjištění názvu časového pásma Zjištění názvu posledního dne v měsíci Zjištění data začátku letního času v daném časovém pásmu Zjištění data začátku zimního času v daném časovém pásmu Vytvoření řetězce data v určitém formátu
Databáze 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562
K1866.indd 15
Několik druhů poskytovatelů Jak se připojit k databázi Vytvoření připojovacího řetězce SqlConnection Vytvoření připojovacího řetězce k databázi OLE DB Jak ukončit připojení k databázi Co umožňuje třída SqlConnection Zjištění verze Microsoft SQL serveru Zjištění stavu připojení k databázi Jak vykonat určitý příkaz Jak vytvořit snímač dat (třída *DataReader) Jak získat název sloupce dle jeho pořadí v tabulce Jak získat pořadí sloupce v tabulce dle jeho názvu Procházení řádků tabulky pomocí třídy *DataReader Čtení řádku pomocí třídy *DataReader Jak získat hodnotu z konkrétního sloupce tabulky Jaké metody nabízí třída *DataReader Zjištění, zda je určitá položka v tabulce prázdná Jak získat instanci třídy Type představující datový typ určitého sloupce tabulky Zjištění, zda tabulka obsahuje alespoň jeden řádek Jaké chování umožňuje třída *DataReader Vytvoření datové tabulky z dat uložených v instanci třídy *DataReader
15
195 195 195 195 195 195 196 196 196 197 197 197 198 198 198 198 199 199 199 200 200 200 201 201 201 201 202 202 202
203 203 203 203 204 204 205 205 205 206 206 207 207 207 208 208 208 209 210 210 210 211
22.9.2011 9:18:32
16
Obsah
563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616
K1866.indd 16
Čtení hodnot typu NULL Jak uzavřít čtenáře dat (*DataReader) spolu s připojením Zjištění, zda je *DataReader uzavřen Detekování změny stavu připojení Zachycení varovných zpráv MS SQL Serveru Událost reagující na dokončení vykonávání příkazu SQL Jak získat jedinou položku z výsledku dotazu Převod výsledků dotazu do formátu XML Nahrazení konkrétních položek dotazu parametry Jak vrátit všechny změny provedené v instanci třídy DataSet Jak potvrdit všechny změny provedené v instanci třídy DataSet Jak získat tabulku obsahující změněné údaje Implementace agregačních funkcí jazyka SQL Zachytávání výjimek SQL Serveru Jaké vlastnosti má výjimka typu SqlException Hodnocení závažnosti chybových hlášení SQL Serveru Použití třídy *DataAdapter k načtení dat z databáze do datové sady (DataSet) Jak naplnit daty danou tabulku v datové sadě Přístup k jednotlivým tabulkám třídy DataSet Manipulace s jednotlivými tabulkami v instanci třídy DataSet Přehled událostí třídy System.Data.DataTable Jak do datové sady (DataSet) přidat tabulku Jak z datové sady (DataSet) odebrat tabulku Jak zapsat data uložená v instanci třídy DataSet do formátu XML Jak naplnit DataSet daty z dokumentu XML Jak získat formát XML dat uložených v datové sadě Zjištění údajů o sloupcích tabulky Přístup k hodnotě ležící na určitém řádku určitého sloupce tabulky Přehled metod určených pro manipulaci s jednotlivými sloupci tabulky Přehled metod určených pro manipulaci s jednotlivými řádky tabulky Jak do tabulky vložit nový sloupec Jak odstranit všechny údaje v tabulkách v datové sadě Zjištění počtu sloupců a řádků v tabulce Výpis názvů všech tabulek v instanci třídy DataSet Výpis názvů jednotlivých sloupců tabulky Jak získat kolekci relací tabulek uložených v datové sadě Použití vypočtených hodnot ve sloupci Jak do tabulky přidat nový řádek hodnot Ověření, zda počet vkládaných hodnot nepřesahuje počet sloupců tabulky Jak číst jednotlivé hodnoty řádků tabulky typu DataTable Ověření, zda tabulka obsahuje určitý sloupec Provedeme výběr v tabulce (metoda SELECT) a získáme pole Jak z tabulky odstranit jeden či více řádků Přidání nového řádku a kontrola shody datových typů vkládaných objektů s datovými typy sloupců Vykonání transakce Vytvoření datového pohledu (DataView) Vyhledání konkrétního řádku v datovém pohledu Iterace jednotlivých řádků v datovém pohledu Vytvoření relace mezi tabulkami Jak z objektu typu DataRelation zpětně získat řádky hlavní nebo podřízené tabulky Jak z tabulky získat primární klíč nebo jak jej tabulce přiřadit Jak na aritmetický průměr vybraných hodnot – funkce AVG Nalezení nejmenšího čísla z vybraných hodnot – funkce MIN Nalezení největšího čísla z vybraných hodnot – funkce MAX
211 211 212 212 212 213 213 214 214 215 215 215 215 216 216 217 217 217 218 218 218 219 219 219 219 219 220 220 220 221 222 222 222 222 222 223 223 223 224 224 225 225 225 226 226 227 227 228 228 228 228 229 229 229
22.9.2011 9:18:32
Obsah
617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653
Součet všech hodnot určitého sloupce – funkce SUM Získání počtu záznamů v určitém sloupci – funkce COUNT Zaokrouhlení čísla na určitý počet desetinných míst – funkce ROUND Zaokrouhlení desetinného čísla – funkce FLOOR a CEILING Převod písmen řetězce na malá – funkce LOWER Převod písmen řetězce na velká – funkce UPPER Výběr podřetězce – funkce SUBSTRING Spojování více řetězců dohromady – funkce CONCAT Generování náhodných čísel – funkce RAND Konverze datových typů – funkce CAST Výběr dat – příkaz SELECT Výběr dat příkazem SELECT z více tabulek Podmínky příkazu SELECT – klauzule WHERE Řazení výsledků vybraných příkazem SELECT – klauzule ORDER BY Použití agregačních funkcí (podmínka HAVING) Řazení hodnot – operátor DESC Určení maximálního počtu hodnot vrácený příkazem SELECT – příkaz LIMIT Jak vytvořit tabulku – příkaz CREATE TABLE Jak odstranit tabulku – příkaz DROP TABLE Jak přidat sloupce do tabulky – příkaz ALTER TABLE ADD Jak odstranit sloupce z tabulky – příkaz ALTER TABLE DROP Úprava hodnot tabulky – příkaz UPDATE Jak vložit hodnoty do tabulky – příkaz INSERT Smazání hodnot z tabulky – příkaz DELETE Množinové sloučení tabulek – příkaz UNION Množinový průnik tabulek – příkaz INTERSECT Množinový rozdíl – příkaz MINUS Vytvoření pohledu na data tabulky – příkaz CREATE VIEW Odstranění pohledu – příkaz DROP VIEW Spojení více podmínek – funkce IN Výběr hodnot z určitého rozsahu – podmínka BETWEEN Výběr prvních n řádků – operátor TOP Výběr řetězců dle určitého vzoru – operátor LIKE Přehled zástupných znaků operátoru LIKE Jak zapsat konjukci – operátor AND Jak zapsat disjunkci – operátor OR Jak zapsat negaci – operátor NOT
Práce se soubory 654 655 656 657 658 659 660 661 662 663 664 665 666 667
K1866.indd 17
Jak přečíst soubor třídou StreamReader Jak zapsat text do souboru Jak zapsat text do souboru s určitým kódováním Získání názvu kódování a čísla kódové stránky textového souboru Jak zapsat text po řádcích do souboru metodou WriteLine Jak zapsat pole bytů do souboru třídou FileStream Jak přečíst pole bajtů třídou FileStream Přidání textu do již existujícího textového souboru Vytvoření nového souboru Zkopírování souboru Smazání souboru Zjištění existence souboru Vypsání atributů souboru Nastavení atributů souboru
17 229 230 230 230 230 230 231 231 231 231 231 232 232 232 232 233 233 233 234 234 234 234 235 235 235 235 236 236 236 236 237 237 237 237 238 238 238
239 239 239 240 240 240 241 241 241 242 242 242 242 242 243
22.9.2011 9:18:32
18
Obsah
668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705
Jak skrýt soubor Jak rozdělit soubor na více částí Jak sloučit více částí souboru v jeden Zjištění času vytvoření, otevření a posledního zápisu do souboru Přesunutí souboru z jedné složky do druhé Přečtení všech bajtů souboru Jak nastavit datum vytvoření souboru Jak nastavit čas posledního přístupu k souboru Jak zapsat pole bajtů do souboru Zjištění velikosti souboru v bajtech Zjištění přípony souboru Jak vytvořit novou složku Jak smazat složku Jak skrýt složku Jak zjistit, zda určitá složka existuje Jak zjistit čas vytvoření složky Získání výčtu podsložek určité složky Jak vyhledat všechny podsložky určité složky dle zadaného názvu Zjištění velikosti složky Jak získat výčet souborů ve složce Jak zjistit úplnou cestu k aplikaci Jak zjistit počet souborů ve složce a podsložkách Zjištění data vytvoření, posledního přístupu a posledního zápisu do složky Jak přesunout složku Výpis kořenového adresáře Jak nastavit datum vytvoření složky Jak nastavit datum posledního přístupu k určité složce Jak nastavit datum posledního zápisu do složky Jak vygenerovat náhodný název souboru Jak změnit příponu souboru Je název souboru validní? Jak zjistit, zda je cesta absolutní, či relativní Jak získat jméno souboru či jeho příponu z absolutní cesty Jak získat název složky z cesty k souboru Kontrolování změn souborovém systému Jak vymezit sledování pro konkrétní změny v adresáři Jak serializovat třídu Jak deserializovat třídu
XML 706 707 708 709 710 711 712 713 714 715 716 717 718
K1866.indd 18
Co umí třída XmlDocument Jak načíst dokument XML Jak uložit dokument XML Výpis kořenového elementu dokumentu XML Čtení dokumentu XML pomocí třídy XmlTextReader Jaké existují typy elementů Jak vytvořit dokument XML Jak na odsazování v dokumentu XML Jak zapsat řetězec do uzlu Jak přečíst hodnotu uzlu Jak do dokumentu XML přidat nový uzel Jak do dokumentu XML vložit nový komentář Získání uzlu na základě výrazu XPath
243 243 244 244 245 245 245 245 246 246 246 246 246 247 247 247 247 247 248 249 249 249 250 250 250 250 251 251 251 251 252 252 253 253 253 254 255 255
257 257 257 257 257 258 259 259 260 260 260 261 261 262
22.9.2011 9:18:32
Obsah
719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741
Získání kořenového uzlu Rekurzivní procházení uzlů dokumentu XML Jak přečíst hodnotu atributu Jak do elementu přidat atribut Úprava hodnoty atributu elementu Jak z elementu odstranit atribut Jak na serializaci objektu Jak na deserializaci objektu Jak uložit binární soubor do dokumentu XML Jak načíst binární soubor z dokumentu XML Jak zapsat schéma XML popisující strukturu dokumentu XML Validace dokumentu XML Validace dokumentu XML dle XSD-schématu Transformace z XML do HTML Jak na výběr elementů Výběr všech elementů určitého názvu Výběr všech elementů libovolného názvu Přístup k jednotlivým atributům Kombinování více výrazů Výběr uzlů, které mají určitý počet poduzlů – funkce count() Výběr rodičovských uzlů určitého uzlu Jak zadávat podmínky Jaké funkce nabízí XPath
Práce se sítí – System.Net 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769
K1866.indd 19
Události reagující na změnu dostupnosti a IP adresy sítě počítače Jak zaslat textovou zprávu prostřednictvím protokolu UDP Jak naslouchat příchozím textovým zprávám pomocí protokolu UDP Jak přijmout zprávy pouze z konkrétní IP adresy Jak přijmout zprávy z několika konkrétních IP adres Ověření validity IP adresy Identifikace chyby pomocí chybových zpráv WinSock Poslání souboru pomocí protokolu UDP Jak přijmout soubor protokolem UDP Zjištění velikosti přijatých nebo odeslaných dat Jak zaslat textovou zprávu prostřednictvím TCP-spojení Jak přijmout textové zprávy pomocí protokolu TCP Posílání souboru pomocí protokolu TCP Tři způsoby k uzavírání socketových spojení Jak poslat e-mailovou zprávu pomocí třídy SmtpClient Poslání několika e-mailových zpráv Jak poslat e-mailovou zprávu s přílohou Zakódování textu do URL Zaslání dotazu ping na vzdálený počítač Nastavení priority e-mailových zpráv Jak poslat e-mailovou zprávu asynchronně Jak zaslat ping dotaz na vzdálený počítač Zjištění hostitelského jména pomocí IP adresy Zjištění hostitelské IP adresy Zjištění názvu lokálního počítače Zjištění IP adresy lokálního počítače Stažení souboru pomocí třídy WebClient Stáhování souboru jako pole bajtů
19 262 262 263 263 263 264 264 264 265 265 265 266 266 267 268 268 268 269 269 269 269 270 270
271 271 271 272 272 272 273 273 274 274 275 275 276 276 276 277 277 278 278 278 279 279 280 280 280 281 281 281 281
22.9.2011 9:18:33
20
Obsah
770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785
Zjištění velikost staženého souboru Jak stáhnout soubor a vrátit jeho obsah jako pole bajtů Jak stahovat data asynchronně třídou WebClient Událost reagující na dokončení stahování Jak průběžně zjišťovat velikost stáhnutých dat Průběžně zjišťujeme rychlost stahování Jak přerušit probíhající asynchronní stahování Zjištění velikosti souboru, který je umístěn na webu Zjištění typu souboru umístěného na webu Stahujeme zdrojový kód stránky pomocí datového proudu Jak stáhnout soubor pomocí datového proudu Zjišťujeme, zda odpověď serveru byla z cache Zjišťujeme datum poslední úpravy webové stránky Získání názvu serveru Přistupujeme k internetovým zdrojům přes proxy-server Jak vypsat všechna TCP spojení
WinAPI 786 787 788 789 790 791 792 793 794 795 796
Získání pozice kurzoru na obrazovce Jak nastavit pozici kurzoru na obrazovce Jak minimalizovat okno Jak maximalizovat okno Číselné argumenty metody ShowWindow Jak získat identifikační čísla (handle) aktivního okna Prohození funkce levého tlačítka myši za pravé Jak nakreslit bod v okně aplikace Jak získat barvu určitého bodu okna Jak aktivovat okno Jak kreslit na obrazovku
Práce s 2D grafikou 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818
K1866.indd 20
Zjištění rozměrů obrazovky Vytvoření pera Jak nastavit zakončení stopy pera Jak nastavit šířku pera Jak vytvořit štetec Jak nastavit styl čáry pera Změna barvy pera Vytvoření barvy z jednotlivých složek Jak z barvy získat její jednotlivé složky Jak vytvořit barvu z názvu barvy Nastavení průhlednosti barvy Jak vykreslit výseč kruhu Jak nakreslit Bézierovu křivku Jak nakreslit složitější Bézierovu křivku Jak nakreslit křivku Jak vykreslit ikonu Jak nakreslit elipsu Jak nakreslit obrázek Jak vykreslit obrázek ve změněné velikosti Jak vykreslit obrázek ve změněné velikosti a přitom zachovat poměr stran Jak nakreslit vyplněnou výseč kruhu Jak nakreslit čáru
281 282 282 282 283 284 284 285 285 285 286 286 286 287 287 288
289 289 289 289 289 290 291 291 291 292 292 292
295 295 295 295 296 296 296 297 297 297 298 298 298 299 299 300 300 301 301 301 302 302 302
22.9.2011 9:18:33
Obsah
819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873
K1866.indd 21
Jak nakreslit lomenou čáru Jak vykreslit řetězec Jak vykreslit řetězec svisle Získání názvu a velikosti písma Jak nastavit zarovnání řetězce Nastavení kvality vykreslování písma Šest druhů kvality vykreslování písma Jak nastavit jeden nebo více stylů písma Jak kreslit objekty s přechodem barev Jak vytvořit štětec obsahující texturu Způsoby opakování obrázků ve třídě TextureBrush Jak nastavit kvalitu vyhlazování vykreslovaných objektů Jak nakreslit polygon vyplněný určitou barvou Jak vytvořit kruhový graf Jak vytvořit systémový font Jak vytvořit instanci třídy Point Jak zjistit, zda bod leží mimo formulář Jak smazat nakreslené objekty z formuláře Jak uložit obrázek Zjištění barvy určitého pixelu obrázku v komponentě PictureBox Vytvoření miniatury obrázku Jak pootočit obrázek Jak získat rozměry obrázku Jak nastavit jednotlivé pixely obrázku Jak získat barvu jednotlivých pixelů obrázku Procházení jednotlivých pixelů v bitmapě Jak získat rozměry bitmapy Jak uložit bitmapu Jak uložit bitmapu v určitém formátu Jak uložit obrázek jako ikonu Jak nastavit ikonu aplikace za běhu programu Jak pootočit vykreslené obrazce o určitý úhel Jak smazat nakreslené objekty z formuláře Jak vykreslit obrázek doprostřed formuláře Jak vykreslit obrázek doprostřed i po změně rozměrů formuláře Jak zjistit výšku či šířku ikony Jak vykreslit zkosený obrázek Jak vytvořit sépiový nádech obrázku Jak v obrázku udělat barevné zrnění Jak převést obrázek do šedé škály Invertování barev v obrázku Vertikální osové zrcadlení v obrázku Horizontální osové zrcadlení v obrázku Pixelizace obrázku Jak zjistit délku úpravy obrázku v milisekundách Jak zjistit průměrnou délku úpravy jednotlivých pixelů v milisekundách Jak zesvětlit či ztmavit obrázek Jak vykreslit část obrázku Vykreslení obrázku ve dvou barvách Pořízení barevného výtažku z bitmapy Rozmazání obrázku Vykreslení obrázku s odstínem Jak v obrázku zaměnit jednu barvu za jinou Jak v obrázku zaměnit jednu barvu za jinou, ležící v určitém rozmezí barevného spektra Jak procházet pixely v bitmapě pomocí unsafe kódu
21 303 303 303 304 304 304 305 305 305 306 306 307 307 307 308 309 309 309 310 310 310 311 311 312 312 312 312 312 313 313 313 313 314 314 315 315 316 316 317 318 319 320 320 320 321 321 322 323 323 324 325 326 327 328 329
22.9.2011 9:18:33
22
Obsah
874 875 876 877
Jak nastavit barvu pixelu v bitové mapě Jak získat z bitové mapy pixel pomocí nezabezpečeného kódu Nastavení přístupu k pixelům Prolnutí dvou obrázků
Procesy a podprocesy 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902
Zjištění počtu spuštěných procesů Jak spustit proces Nastavení způsobu zobrazení okna při spuštění Procházení jednotlivými procesy lokálního počítače Získání procesu dané aplikace Jak násilně ukončit proces Jak zjistit, zda byl proces ukončen Nastavení priority procesu Zjištění, zda proces má okno Zjištění velikosti paměti alokované procesem Zjištění času spuštění procesu Zjištění času ukončení procesu Čekání na ukončení procesu Spuštění příkazu v příkazové řádce Zvýšení priority při aktivaci okna určitého procesu Výpis systémových proměnných Spuštění nového podprocesu Uspání podprocesu na určitou dobu Ukončení podprocesu Zjištění, zda je podproces spuštěn Zjištění aktuálního stavu podprocesu Nastavení priority podprocesu Nastavení přístupu ke sdíleným objektům K čemu slouží klíčové slovo lock Test na získání zámku objektu
Systém 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922
K1866.indd 22
Jak zajistit, aby schránka fungovala Jak vložit text do schránky Jak získat text ze schránky Zjištění, zda schránka uchovává nějaká data Jak ze schránky vybrat obrázek Jak do schránky vložit obrázek Výpis všech podsložek ve složce Výpis všech souborů ve složce Zjištění informací o diskové jednotce Získání informací o stavu baterie počítače Získání informací o jednotlivých diskových jednotkách Výpis názvů logických jednotek Vytvoření instance třídy RegistryKey Práce s kořenovými klíči registru Jak nastavit hodnotu klíče registru Jak zjistit hodnotu klíče registru Jak vytvořit nový klíč Smazání určitého klíče Zjištění typu hodnoty klíče Popis hodnot výčtového typu RegistryValueKind
329 330 330 331
333 333 333 333 333 334 334 334 334 335 335 336 336 336 336 337 337 337 338 338 338 339 339 340 340 341
343 343 343 343 343 344 344 344 344 344 345 346 346 347 347 347 347 348 348 348 348
22.9.2011 9:18:33
Obsah
923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954
Výpis názvů položek určitého klíče Chybové hlášení Cannot write to the registry key při zápisu do registru Změna velikosti ikon na ploše Nastavení šířky okraje okna Nastavení intervalu mezi dvěma klepnutími při poklepání Zapnutí nebo vypnutí vyhlazování písma Uložení souboru do registru Po spuštění Výpis všech položek uložených v registru Po spuštění Jak získat název procesoru Nastavení časové prodlevy při zobrazení nabídky Nastavení spořiče obrazovky Vypnutí animace při minimalizaci okna Vypnutí upozornění oznamujícího malý prostor na disku Zjištění, s jakými argumenty byla aplikace spuštěna Jak získat cestu ke složce, z níž byla spuštěna Ukončení dané aplikace Vypsání informací o modulech spuštěného procesu Výpis argumentů, se kterými byla aplikace spuštěna Výpis všech systémových proměnných Nastavení dočasné systémové proměnné Zjištění, jak dlouho je počítač zapnut Zjištění verze .NET Frameworku Zjištění verze operačního systému Zjištění počtu procesorů Zjištění uživatelského jména či názvu počítače Zjištění oddělovače času Zjištění oddělovače data Výpis zkrácených názvů dnů Zjištění, zda se na daném počítači píše zprava doleva Jak získat informace o všech kulturách nainstalovaných na počítači Zjištění názvu kultury na lokálním počítači Zjištění názvu měny
Překlad a vývojové prostředí 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974
K1866.indd 23
Kompilace programu Výpis chybových hlášení během překladu Překlad programu z příkazového řádku Specifikování typu překládané aplikace Jak zapsat odkaz na externí sestavení Vytvoření dokumentace XML Překlad programu pro různé platformy Čtení parametrů překladače ze souboru Překlad programu obsahujícího nezabezpečený (unsafe) kód Nastavení ikony aplikace Jak na podmíněný překlad Optimalizace výkonu souboru Nastavení písma editoru Přidání odkazu na dynamickou knihovnu Jak do projektu přidat odkaz na webovou službu Definice podmínkového jména při překladu Povolení kompilace programu obsahujícího nezabezpečený (unsafe) kód Jak vytvořit šablonu projektu Zobrazení editoru zdrojového kódu na celou obrazovku Přejmenování datových složek v programu
23 349 349 349 350 350 350 351 351 351 351 352 352 352 353 353 353 353 354 354 354 355 355 355 355 355 356 356 356 356 356 357 357
359 359 359 360 360 360 361 361 361 362 362 362 363 363 364 364 365 365 366 366 366
22.9.2011 9:18:33
24
Obsah
975 976
Jaké klávesové zkratky máme k dispozici Jak uložit nastavení aplikace
Multimédia 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009
Výpis názvů CD mechanik Jak otevřít či zavřít CD mechaniku Jak se vyhnout výjimce LoaderLock Instalace balíku vývojových knihoven Microsoft DirectX SDK Jak přehrát zvukovou nahrávku Jak otevřít zvukovou nahrávku Jak pozastavit či úplně zastavit přehrávání nahrávky Zjištění stavu přehrávání Zjištění aktuální pozice nahrávky v sekundách Zjištění délky nahrávky v sekundách či procentech Jak přehrát nahrávku ve formátu WAV Jak přehrát nahrávku ve formátu WAV z webu Nastavení pozice v přehrávaném záznamu Jak přehrát video Zobrazení okna ve formuláři Jak pozastavit či úplně zastavit video Jak skrýt kurzor Jak získat zvukovou část videa Zobrazení videa na celou obrazovku Jak získat či nastavit aktuální pozici ve videozáznamu Přidání do panelů nástrojů Roztáhnutí přehrávače na celou klientskou plochu formuláře Jak využít tlačítka Jak vytvořit seznam nahrávek Manipulace s nahrávkami Výpis informací o jednotlivých nahrávkách Vlastnosti aktuálně přehrávaného záznamu Zjištění atributů nahrávky Nastavení atributů nahrávky Jak nastavit režim celé obrazovky při stisku klávesy Enter Jak zrušit režim celé obrazovky při stisku klávesy Escape Přizpůsobení velikosti videa přehrávači Zjištění stavu přehrávání
Zabezpečení 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023
K1866.indd 24
Jak vypočítat hešový kód MD5 z pole bajtů Výpočet hešového kódu textu algoritmem MD5 Přehled tříd určených k symetrickému šifrování Šifrování dat pomocí symetrického algoritmu Dešifrování dat pomocí symetrického algoritmu Generování sekvence náhodných bajtů Zjištění přístupových práv k souborům ve složce Nastavení přístupových práv ke složce Odstranění přístupových práv k souborům složky Nastavení přístupových práv určitému souboru Dočasné odepření přístupu k souboru Nastavení přístupových práv k registrům Zjištění identity uživatele Zjištění role přihlášeného uživatele
366 367
369 369 369 370 370 370 370 371 371 371 371 372 372 372 373 373 373 374 374 374 374 374 375 375 375 376 377 377 377 378 379 379 379 380
381 381 381 381 382 383 383 384 384 385 385 385 386 386 386
22.9.2011 9:18:33
Obsah
Dynamické knihovny 1024 1025 1026 1027 1028 1029 1030 1031
Import DLL funkcí Nastavení znakové sady dynamické knihovny Přejmenování funkce z DLL v programu Zachycení výjimky vyvolané v dynamické knihovně Jak předávat parametry Výpis názvů tříd a struktur z dynamické knihovny v řízeném kódu Výpis vlastností datových členů tříd dynamické knihovny Volání metody v dané třídě z dynamické knihovny
Předdefinované dialogy 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047
OpenFileDialog – zobrazení dialogu pro otevření souboru OpenFileDialog – zjištění cesty k vybranému souboru OpenFileDialog – výběr více souborů OpenFileDialog – získání obsahu textového souboru OpenFileDialog – nastavení výchozího adresáře OpenFileDialog – nastavení fitru SaveFileDialog – otevření dialogu pro uložení SaveFileDialog – uložení textu do souboru ColorDialog – zjištění vybrané barvy ColorDialog – zobrazení palety pro výběr libovolné barvy FontDialog – zjištění vybraného druhu písma FontDialog – nastavení barvy textu FontDialog – nastavení minimální a maximální velikosti písma FolderBrowserDialog – zjištění cesty k vybrané složce MessageBox – zobrazení zprávy MessageBox – tlačítka
Tisk 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058
Jak vytisknout dokument Výpis názvů nainstalovaných tiskáren Nastavení vlastností tisknutého dokumentu Jak na oboustranný tisk Zjištění, zda tiskárna podporuje oboustranný tisk Zjištění, zda tiskárna podporuje barevný tisk Jak zobrazit náhled tisknuté stránky Dialog nastavení vzhledu stránky Jak zobrazit dialog pro tisk Jak tisknout formuláře Jak zrušit tisk
Rejstřík
K1866.indd 25
25
389 389 389 389 390 390 390 391 392
393 393 393 393 394 394 394 395 395 396 396 397 397 397 398 398 398
399 399 399 400 400 400 401 401 402 402 403 404
405
22.9.2011 9:18:34