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φ

áStyl vizußlnφho programovßnφ v C#

áVytvß°φme prvnφ standardnφ aplikaci pro Windows v C#

áFormulß° jako zßkladnφ stavebnφ kßmen aplikacφ pro Windows

á

 

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φ:

 

  1. Spus¥te Visual Studio .NET a vytvo°te projekt standardnφ aplikace pro Windows (Windows Application) v jazyku C#.

 

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.

 

  1. PotΘ, co vytvo°φte standardnφ aplikaci pro Windows, uvidφte jejφ podobu ve vizußlnφm nßvrhß°i (obr. 3).

 

 

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