|
ZaΦφnßme s jazykem C# |
|||||
Jazyk C# se p°edstavuje (3. dφl) |
||||||
╚asovß nßroΦnost (min): |
ZaΦßteΦnφk |
PokroΦil² |
Profesionßl |
|||
|
|
|
||||
|
Pou₧it² operaΦnφ systΘm : Hlavnφ v²vojov²
nßstroj : DalÜφ v²vojov² software : Jin² software : |
Windows 2000 SP3 Visual C# .NET 2002 Äßdn² Äßdn² |
||||
|
Milφ Φtenß°i,
v dneÜnφ Φßstφ serißlu ZaΦφnßme s jazykem C# si ukß₧eme styl programovßnφ, kter² p°inßÜφ tento nov² a objektov∞ orientovan² programovacφ jazyk. Rovn∞₧ se dozvφte, z jak²ch Φßstφ se sklßdß proces v²voje aplikacφ v C# a zaΦnete s vytvß°enφm svΘ prvnφ aplikace pro platformu .NET. P°eji vßm p°φjemnΘ poΦtenφ.
Obsah |
á
Jazyk C# a vizußlnφ
programovßnφ
Domnφvßm se, ₧e se shodneme na tom, ₧e souΦasnφ v²vojovΘ etap∞ programovßnφ vΘvodφ nov² programovacφ styl, jemu₧ se °φkß vizußlnφ programovßnφ. Ano, vizußlnφ programovßnφ je tady a jak se tak zdß, z∙stane zde jeÜt∞ n∞jak² ten pßtek. Tento trend v programovßnφ je tak siln², ₧e v²voj programovßnφ m∙₧eme, a to bez sebemenÜφho zavßhßnφ, rozd∞lit na programovßnφ p°ed a po nßstupu vizußlnφho programovacφho stylu. Podφvßme-li se do historie programovßnφ, zjistφme, ₧e äpravΘô vizußlnφ programovßnφ je spojeno s programovacφm jazykem Microsoft Visual Basic. AΦkoliv mnoho programßtor∙ tomuto tvrzenφ nechce uv∞°it, prßv∞ Visual Basic p°inesl skuteΦnΘ vizußlnφ programovßnφ pro 32bitovou platformu Windows.
Poznßmka |
|
|
Visual Basic p°inesl
vizußlnφ programovßnφ pro 32bitovß Windows ve svΘ ΦtvrtΘ verzi, kterß se na
trhu objevila v roce 1995. D°φv∞jÜφ verze tohoto programovacφho nßstroje
byly rovn∞₧ vizußlnφ, ovÜem pracovaly pod 16bitov²m operaΦnφm systΘmem
Windows, resp. MS-DOS. |
á
Vizußlnφ programovßnφ v podßnφ jazyka Visual Basic 4.0 p°ineslo do pon∞kud stojat²ch vod programovßnφ pod Windows velice vφtanou zm∞nu. Pro programovßnφ aplikacφ pod Windows ji₧ nebylo zapot°ebφ psßt znaΦn∞ slo₧itΘ okennφ procedury a pracovat se smyΦkami zprßv (tyto aspekty programovßnφ byly vlastnφ zejmΘna programßtor∙m pracujφcφch s jazyky C a C++). Jakmile jste zalo₧ili projekt, Φekal vßs p°ipraven² formulß°, na kter² jste mohli umφs¥ovat instance, neboli kopie ovlßdacφch prvk∙ a komponent, kterΘ se nachßzeli v p°φsluÜnΘ souprav∞ nßstroj∙.
Poznßmka |
|
|
Visual Basic
pou₧φval pro identifikaci dialogovΘho okna termφn formulß° (angl. form).
Tento v²raz se stal velice populßrnφm, a to jak v samotnΘm Microsoftu, tak u mili≤n∙ programßtor∙ na celΘm sv∞t∞. D∙kazem
tohoto tvrzenφ je skuteΦnost, ₧e s formulß°i se m∙₧ete st°etnou i dnes
v nejmodern∞jÜφch nßstrojφch od spoleΦnosti Microsoft û a to nejenom ve
Visual Basicu .NET, ale takΘ v C# a v C++ s °φzen²mi rozÜφ°enφmi
(managed extensions). á |
Tφmto zp∙sobem jste si mohli upravit vzhled formulß°e k obrazu svΘmu. Vlastnosti ovlßdacφch prvk∙, s nimi₧ jste pracovali, jste mohli upravovat a modifikovat v samostatnΘm dialogovΘm okn∞ a op∞t pln∞ vizußln∞. Finßlnφ fßzφ bylo psanφ programovΘho k≤du, kdy jste vytvß°eli udßlostnφ procedury a napl≥ovali je po₧adovan²mi °ßdky zdrojovΘho k≤du.
Varovßnφ |
|
|
Budete-li chtφt
proniknout do taj∙ vizußlnφho programovßnφ, budete se muset seznßmit s d∙le₧it²mi
zßkladnφmi pojmy tΘto problematiky, mezi kterΘ pat°φ: 1.
Udßlosti
û Udßlost oznaΦuje oznßmenφ o nastßnφ jistΘ situace. Udßlostφ je nap°φklad
klepnutφ na tlaΦφtko, minimalizace dialogovΘho okna, Φi vyvolßnφ klßvesovΘ
zkratky. Ve vizußlnφm programovßnφ se to r∙zn²mi udßlostmi jenom tak hem₧φ.
Mnoho udßlostφ nastßvß p°i vizußlnφ prßci s aplikacφ (nap°. ji₧ zmφn∞nΘ
klepnutφ na plochu tlaΦφtka). Na druhΘ stran∞ existujφ takΘ udßlosti, kterΘ
se odehrßvajφ äpod povrchemô, tedy ve vzßjemnΘ interakci programov²ch entit,
t°eba objekt∙. Typick²m p°φkladem udßlosti tohoto typu je udßlost Load formulß°e û ta je vyvolßna
v okam₧iku zavedenφ formulß°e do pam∞ti poΦφtaΦe. 2.
ZpracovatelΘ
udßlostφ, neboli udßlostnφ procedury û umo₧≥ujφ aplikaci reagovat na vzniklΘ
udßlosti. Budete-li chtφt provΘst n∞jakou akci ihned potΘ, co u₧ivatel klepne
na tlaΦφtko, budete muset vytvo°it zpracovatele udßlosti Click tohoto
tlaΦφtka. JednoduÜe °eΦeno, v₧dy, kdy₧ dojde k jistΘ udßlosti, je
aktivovßn zpracovatel vzniklΘ udßlosti, kter² provede pot°ebnΘ programovΘ
operace. Aby ovÜem mohl zpracovatel udßlosti n∞co vykonat, musφte jej
vytvo°it. Jak se vytvß°ejφ zpracovatele udßlostφ si vysv∞tlφme v jednΘ
z dalÜφch Φßstφ naÜeho serißlu. áá |
P°eneseme-li se do souΦasnosti, m∙₧eme °φct, ₧e vÜechny v²teΦnΘ vlastnosti, kterΘ tak napomohly rozvoji vizußlnφho programovßnφ, zd∞dil (nep°φmo) od svΘho starÜφho brßÜky i Visual C# .NET.
Styl vizußlnφho programovßnφ v C#
Algoritmus programovßnφ v C# je nßsledovnφ:
Obr. 1 û Algoritmus programovßnφ v C#
V²vojov² proces aplikace se zaΦφnß jejφm vizußlnφm nßvrhem. V tΘto souvislosti vßm velmi pom∙₧e vizußlnφ nßvrhß°, kter² je v integrovanΘm v²vojovΘm prost°edφ jazyka C# implementovßn.
Poznßmka |
|
|
Ve verzi 2002
obsahuje vizußlnφ nßvrhß° krom∞ jazyka C# takΘ Visual Basic .NET. Visual C++
.NET v tΘto verzi vizußlnφ nßvrhß° neobsahuje, co₧ znaΦn∞ znev²hod≥uje
programßtory v C++ p°i psanφ standardnφch äokennφchô aplikacφ. Ve Visual
Studiu .NET 2003 ji₧ vizußlnφm nßvrhß°em disponujφ vÜechny programovacφ
nßstroje, tedy Visual Basic .NET 2003, Visual C# .NET 2003, Visual C++ .NET
2003 a nov∞ takΘ Visual J# .NET 2003. á |
Vytvß°φme prvnφ standardnφ aplikaci pro Windows v C#
Nynφ si ukß₧eme, jak vytvo°it standardnφ aplikaci pro Windows v C#. Postupujte podle nßsledujφcφch instrukcφ:
Poznßmka |
|
|
V nßsledujφcφm
postupu vytvß°enφ standardnφ aplikace pro Windows byl pou₧it software Visual
Studio .NET 2002. Pokud mßte na vaÜem poΦφtaΦi nainstalovanou samostatnou
edici programovacφho jazyka C# (nap°. Visual C# .NET Professional), je mo₧nΘ,
₧e budete muset p°i vytvß°enφ projektu aplikace postupovat mφrn∞ odliÜn∞. |
Standardnφ aplikaci vytvo°φte takto:
a) Vyberte nabφdku File, uka₧te na polo₧ku New a klepn∞te na polo₧ku Project.
b) Zßhy se objevφ dialogovΘ okno New Project (obr. 2).
Obr. 2 û DialogovΘ okno New Project
c) Jak si m∙₧ete vÜimnout, v hornφ Φßsti okna se nachßzejφ dva panely s nßzvy Project Types a Templates. V panelu Project Types si m∙₧ete vybrat typ projektu, kter² chcete vyvφjet. Jeliko₧ chceme pou₧φt jazyk C#, vybereme polo₧ku Visual C# Projects.
á
d) Jakmile je vybrßna polo₧ka Visual C# Projects, v levΘm panelu (Templates) se objevφ seznam Üablon, kterΘ m∙₧ete p°i vytvß°enφ aplikace pou₧φt. Vyhledejte v seznamu polo₧ku Windows Application (s vyhledßnφm polo₧ky byste nem∞li mφt velkΘ potφ₧e, proto₧e jde o prvnφ, resp. jednu z prvnφch polo₧ek).
e) Do textovΘho pole Name zapiÜte nßzev pro vaÜi aplikaci. Pojmenovßnφ aplikace by m∞lo b²t vysti₧nΘ a pokud mo₧no struΦnΘ. Plßnujete-li v budoucnu vytvß°et dalÜφ aplikace se stejn²m nßzvem, m∞li byste zvß₧it mo₧nost Φφslovßnφ jednotliv²ch verzφ aplikacφ (v tomto p°φpad∞ m∙₧ete za nßzev aplikace napsat takΘ jejφ Φφselnou verzi).
Poznßmka |
|
|
Ne vÜechny textovΘ
znaky, kterΘ naleznete na klßvesnici, lze pou₧φt p°i pojmenovßvßnφ aplikace.
Mezi zakßzanΘ znaky pat°φ: ╖
znak m°φ₧ka
(#) ╖
znak
procento (%) ╖
znak
ampersand (&) ╖
znak
hv∞zdiΦka (*) ╖
znak
vertikßlnφ lomφtko (|) ╖
znak
zp∞tnΘ lomφtko (\) ╖
znak
dvojteΦka (:) ╖
znak
dvojitΘ uvozovky (") ╖
znak
ämenÜφ ne₧ô (<) ╖
znak
äv∞tÜφ ne₧ô (>) ╖
znak otaznφk
(?) ╖
znak
lomφtko (/) Nßzev aplikace nesmφ obsahovat ani rezervovanß jmΘna operaΦnφho
systΘmu Windows. |
á
f) Do textovΘho pole Location m∙₧ete zadat cestu k adresß°i, v n∞m₧ budou ulo₧eny soubory vytvß°enΘho projektu. Visual Studio .NET uklßdß implicitn∞ vÜechny projekty do adresß°e \Documents and Settings\JmΘnoU₧ivatele\My Documents\Visual Studio Projects. Pokud ovÜem chcete ulo₧it soubory aplikace do jinΘho adresß°e, staΦφ, kdy₧ do textovΘho pole zapφÜete cestu k vßmi po₧adovanΘmu adresß°i. Jestli₧e jste si ji₧ adresß° p°ipravili p°edem, m∙₧ete klepnout na tlaΦφtko Browse a vyhledat jej.
g) Nakonec aktivujte tlaΦφtko OK. C# vytvo°φ vÜechny pot°ebnΘ soubory pro vßÜ projekt a nov∞ vytvo°en² projekt p°idß do tzv. °eÜenφ.
Varovßnφ |
|
|
Ve Visual Studiu
.NET se st°etßvßme s nov²m pojmem, kter²m je °eÜenφ (angl. solution).
╪eÜenφ si m∙₧ete p°edstavit jako soubor, slo₧en² z jednoho, nebo i
n∞kolika projekt∙. P°itom nenφ podmφnkou, aby vÜechny projekty byly stejnΘho
typu a aby byly napsßny ve stejnΘm jazyce. Prßv∞ naopak, jedno °eÜenφ m∙₧e
obsahovat t°eba Φty°i projekty r∙zn²ch typ∙, ze kter²ch jsou dva p°ipravenΘ
pou₧itφm jazyka C#, jeden je napsan² ve Visual Basicu .NET a jeden
v °φzenΘm C++. Ve skuteΦnosti je takovΘto schΘma °eÜenφ pom∞rn∞ ΦastΘ,
proto₧e platforma .NET Framework podporuje t∞snou vzßjemnou spoluprßci mezi
r∙zn²mi .NET jazyky. |
Obr. 3 û Standardnφ aplikace
pro Windows
Formulß° jako zßkladnφ stavebnφ kßmen aplikacφ pro Windows
Formulß°, kter² p°edstavuje zßkladnφ stavebn² kßmen aplikacφ pro Windows, je po vytvo°enφ aplikace otev°en ve vizußlnφm nßvrhß°i. Z vizußlnφho hlediska je formulß° standardnφm dialogov²m oknem, podobn²m mnoh²m jin²m dialogov²m okn∙m, s kter²mi jste se p°i prßci s poΦφtaΦov²m softwarem zcela jist∞ ji₧ mnohokrßt setkali. Ka₧d² formulß° se sklßdß z n∞kolika Φßstφ:
╖ Titulkov² pruh formulß°e û tento pruh slou₧φ jako kontejner pro v∞tÜφ mno₧stvφ prvk∙. Zcela nalevo se v titulkovΘm pruhu nachßzφ ikona, standardn∞ s rozm∞ry 16x16 obrazov²ch bod∙ (pixel∙). Tato ikona je u₧iteΦnß hned dvakrßt, proto₧e:
1. Poskytuje grafickou interpretaci hlavnφ ikony (zvyΦejn∞ ve formßtu 32x32 pixel∙) aplikace v okam₧iku, kdy₧ je formulß° minimalizovan².
2. Umo₧≥uje zφskat p°φstup k systΘmovΘ nabφdce formulß°e (obr. 4).
Obr. 4 û SystΘmovß nabφdka
dialogovΘho okna
SystΘmovß nabφdka se objevφ v okam₧iku, kdy klepnete na ikonu lev²m tlaΦφtkem myÜi. V systΘmovΘ nabφdce se nachßzφ n∞kolik p°φkaz∙: Restore (Obnovit velikost okna), Move (P°emφstit okno), Size (Zm∞nit velikost okna), Minimize (Minimalizovat okno), Maximize (Maximalizovat okno) a Close (Zav°φt okno). Polo₧ka Restore je implicitn∞ neaktivnφ (zabarvenß Üed∞), ovÜem jejφ stav se zm∞nφ potΘ, co bylo dialogovΘ okno maximalizovßno nebo minimalizovßno. áá
Krom∞ ikony se v titulkovΘm pruhu formulß°e zvyΦejn∞ objevuje jist² textov² °et∞zec, resp. textovΘ °et∞zce. Textov²m °et∞zcem standardn∞ b²vß nßzev samotnΘ aplikace spoleΦn∞ s urΦenφm jejφ verze. V titulkovΘm pruhu se vÜak mohou, krom∞ nßzvu a verze aplikace, objevovat takΘ dalÜφ informace (je tedy jenom na programßtorovi, jakΘ informace pova₧uje za tak d∙le₧itΘ, aby je umφstil do titulkovΘho pruhu hlavnφho formulß°e). Na pravΘ stran∞ titulkovΘho pruhu formulß°e se standardn∞ nachßzejφ t°i tlaΦφtka, kterß slou₧φ pro zm∞nu stavu formulß°e: tlaΦφtko Minimize (Minimalizovat), tlaΦφtko Maximize (Maximalizovat) a tlaΦφtko Close (Zav°φt). Pokud nenφ v²slovn∞ urΦeno jinak, jsou zobrazena vÜechna t°i tlaΦφtka, a tudφ₧ m∙₧e p°i prßci s formulß°em dojφt k jeho maximalizaci, minimalizaci Φi zav°enφ.
Poznßmka |
|
|
Ne vÜechny formulß°e
musφ b²t nutn∞ konfigurovßny tak, aby byla mo₧nß jejich minimalizace,
maximalizace, nebo dokonce zav°enφ. N∞kdy je kup°φkladu u₧iteΦnΘ, kdy₧
formulß° nepodporuje minimalizaci û v tomto p°φpad∞ se v titulkovΘm
pruhu nevyskytuje minimalizaΦnφ tlaΦφtko. Nebo jin² p°φklad: Budete-li chtφt
zobrazit ukazatel pr∙b∞hu (angl. ProgressBar) v samostatnΘm okn∞,
pravd∞podobn∞ nebude ₧ßdoucφ, aby u₧ivatel mohl toto okno zav°φt (jak by se
potom dov∞d∞l, v jakΘ fßzi se nachßzφ operace, jejφ₧ pr∙b∞h zobrazoval
ukazatel pr∙b∞hu?). V tΘto situaci p°ijde vhod äukrytφô tlaΦφtka pro
zav°enφ dialogovΘho okna. á |
╖ Aktivnφ plocha formulß°e û jde o plochu formulß°e, na kterou m∙₧ete umφstit instance ovlßdacφch prvk∙ a komponent. Aktivnφ plochu formulß°e zφskßme, kdy₧ od celkovΘ plochy formulß°e odeΦteme okraje okna a plochu, kterou zapl≥uje titulkov² pruh.
╖ Okraje formulß°e û slou₧φ pro snadnou modifikaci Üφ°ky a v²Üky formulß°e.
Na zßv∞r dneÜnφ Φßsti si uka₧me komplexnφ pohled na formulß° (obr. 5).
Obr. 5 û Komplexnφ pohled na
formulß°
Jßn Hanßk