|
ZaΦßteΦnφk |
PokroΦil² |
Profesionßl |
|||||
|
|
|
||||||
Prostor
pro experimentovßnφ Programßtorskß laborato° |
||||||||
|
|
Budete pot°ebovat
p°ibli₧n∞ 1 hodinu |
|
OperaΦnφ systΘm
pou₧it² v p°φsp∞vku: Windows XP V²vojovΘ nßstroje:
Visual Basic .NET |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Tvorba t°φdy
V nßsledujφcφ ukßzce spoleΦn∞ vytvo°φme jednoduchou t°φdu, kterΘ bude obsahovat jednu metodu pro v²poΦet obsahu kruhu. Postupujte takto:
Obr. 1 û K≤d t°φdy vygenerovan² Visual Basicem
.NET
Obr. 2 û Finßlnφ podoba t°φdy Kruh
ááááá Dim f As New
Trida_01.Kruh()
ááááá
MessageBox.Show(f.ObsahKruhu(10).ToString)
Pr∙hledn² formulß°
VB .NET obsahuje °adu nov²ch a doposud nevφdan²ch mo₧nostφ, mezi n∞₧ pat°φ takΘ vlastnost, dovolujφcφ vßm nastavit pr∙hlednost formulß°e. JmΘno tΘto vlastnosti je Opacity a m∙₧ete ji nalΘzt mezi standardnφmi vlastnostmi formulß°e v okn∞ Properties. PlatnΘ hodnoty pro uvedenou vlastnost se nachßzejφ v intervalu <0,1>, nebo, jestli₧e chcete, mezi 0 a 100 procenty. Hodnota 0 znamenß, ₧e formulß° je zcela neviditeln², zatφmco hodnota 1 p°edstavuje formulß° v jeho plnΘ krßse. Nastavφte-li hodnotu vlastnosti Opacity na 40 %, zφskßte podobu formulß°e, kterou zobrazuje obr. 3.
Obr. 3 û Pr∙hledn²
formulß°
Pou₧itφ ovlßdacφho prvku ToolTip
Prost°ednictvφm ovlßdacφho prvku ToolTip m∙₧ete p°i°adit k dalÜφm ovlßdacφm prvk∙m, kterΘ jsou umφst∞ny na formulß°i okam₧itou nßpov∞du. Prvek ToolTip pat°φ mezi tzv. extender prvky, co₧ jsou prvky, kterΘ rozÜi°ujφ mo₧nosti jin²ch ovlßdacφch prvk∙. Instance prvku ToolTip se proto z uvedenΘho d∙vodu automaticky neumφstφ na plochu formulß°e, n²br₧ zaujme svΘ mφsto na podnosu komponent (obr. 4). V prostoru podnosu komponent se nachßzejφ prvky, je₧ nejsou vid∞t za b∞hu programu. Jakmile je ovlßdacφ prvek ToolTip p°idßn do projektu, ovlivnφ vlastnosti dalÜφch ovlßdacφch prvk∙ na formulß°i tφm, ₧e do jejich seznamu vlastnostφ v okn∞ Properties p°idß instanci svoji vlastnφ vlastnosti s nßzvem ToolTip on ToolTip1.
Obr. 4 û Ovlßdacφ prvek ToolTip
P°edpoklßdejme nynφ, ₧e se na formulß°i nachßzφ tlaΦφtko. Vyplnφte-li vlastnost tlaΦφtka ToolTip on ToolTip1 informaΦnφm textem, po spuÜt∞nφ projektu a umφst∞nφ kurzoru myÜi se po chvilce objevφ okam₧itß nßpov∞da (obr. 5).
Obr. 5 û Zobrazenφ
okam₧itΘ nßpov∞dy pomocφ prvku ToolTip
Text pro okam₧itou nßpov∞du m∙₧ete dynamicky m∞nit i za b∞hu programu pomocφ programovΘho k≤du:
ToolTip1.SetToolTip(Me.Button1, _
"Chcete-li ulo₧it projekt, klepn∞te na toto tlaΦφtko")
Pou₧itφ ovlßdacφho prvku ErrorProvider
Ovlßdacφ prvek ErrorProvider je, podobn∞ jako prvek ToolTip, extender prvkem. Hlavnφ ·kol prvku ErrorProvider spoΦφvß ve vizußlnφm upozorn∞nφ u₧ivatele na vzniklou chybovou situaci. Dojde-li k chyb∞, kterou umφ prvek rozeznat, zobrazφ specißlnφ ikonu p°i tom ovlßdacφm prvku, s kter²m je integrovßn (jinak °eΦeno, kterΘho schopnosti rozÜi°uje). Umφstφ-li u₧ivatel kurzor myÜi nad vzpomφnanou ikonu, zobrazφ se text, identifikujφcφ vzniklou chybu. Pokud p°idßte prvek do projektu, ulo₧φ se na podnos komponent. Podobu ovlßdacφho prvku ErrorProvider m∙₧ete vid∞t na obr. 6.
Obr. 6 û Podoba prvku ErrorProvider na podnosu
komponent
V nßsledujφcφm p°φkladu si ukß₧eme, jak integrovat prvek ErrorProvider s ovlßdacφm prvkem TextBox. Postupujte takto:
Obr. 7 û Ukßzka podoby projektu
ááááááá If
Len(TextBox1.Text) = 0 Then
ááááááááááá ErrorProvider1.SetError(TextBox1,
"Do textovΘho pole " & _
ááááááááááá "jste nezadali ₧ßdn²
text.")
ááááááá Else
ááááááááááá ErrorProvider1.SetError(TextBox1,
"")
áááá End If
Tento k≤d testuje, zda-li je textovΘ pole prßzdnΘ Φi nikoliv. V p°φpad∞, ₧e u₧ivatel nezadal do textovΘho pole v∙bec ₧ßdn² text, aktivuje se prvek ErrorProvider. Ten zobrazφ vedle textovΘho pole v²stra₧nou ikonu, kterß upozornφ u₧ivatele, ₧e n∞co nenφ v po°ßdku. Pokud u₧ivatel ukß₧e kurzorem na tuto ikonu, zobrazφ se informaΦnφ text, popisujφcφ danou chybu. V opaΦnΘm p°φpad∞, nenφ-li textovΘ pole prßzdnΘ, nestane se nic.
á
Obr. 8 û Ovlßdacφ prvek ErrorProvider v akci
Zadßte-li nynφ do textovΘho pole libovoln² textov² °et∞zec a klepnete-li potΘ op∞t na tlaΦφtko Button1, uvidφte, ₧e v²stra₧nφ ikona zmizφ.
|
V situacφch, ve kter²ch je nutnΘ upozornit u₧ivatele na vzniklou chybu
p°φv∞tivou cestou, lze vhodn∞ vyu₧φt mo₧nostφ ovlßdacφho prvku ErrorProvider.
|
Vytvo°enφ p°etφ₧enΘ funkce
VB .NET vßm dovoluje vytvo°it tzv. p°etφ₧enΘ funkce. P°etφ₧enΘ funkce jsou funkce, kterΘ majφ stejnΘ jmΘno, ovÜem rozliΦnou signaturu (seznam parametr∙). Schopnosti p°etφ₧en²ch funkcφ mohli doposud vyu₧φvat jenom programßto°i C/C++, avÜak nynφ se podobnß mo₧nost nask²tß i vßm. P°etφ₧enφ funkce je velmi u₧iteΦnß technika, pomocφ kterΘ m∙₧ete snadno ävyrobitô sadu funkcφ se stejn²m jmΘnem, no odliÜn²mi vstupnφmi parametry. Zßpis p°etφ₧enΘ funkce s nßzvem Vypocet m∙₧ete vid∞t na nßsledujφcφ ukßzce k≤du:
Public Class Obsah
ááá Public
Overloads Function
Vypocet(ByVal stranaA As
Integer) _
ááá As
Long
ááááááá Return
stranaA * stranaA
ááá End
Function
ááá Public
Overloads Function
Vypocet(ByVal stranaA As
Integer, _
ááá ByVal
stranaB As Integer)
As Long
ááááááá Return
stranaA * stranaB
ááá End
Function
End Class
|
V hlaviΦkßch obou funkcφ m∙₧ete vid∞t i modifikßtor Overloads,
jen₧ indikuje, ₧e jde o p°etφ₧enou funkci. I kdy₧ je pou₧itφ tohoto
modifikßtoru volitelnΘ, v k≤du jsem ho uvedl proto, aby bylo na prvnφ
pohled viditelnΘ, ₧e mßme do Φin∞nφ s p°etφ₧enou funkcφ. |
Jak si m∙₧ete vÜimnout, jsou zde definovßny dv∞ funkce. Prvnφ funkce je urΦenß na v²poΦet obsahu Φtverce, a proto p°ebφrß pouze jeden parametr. Druhß funkce ovÜem poΦφtß obsah obdΘlnφku, a z tohoto d∙vodu pracuje se dv∞ma vstupnφmi parametry.
Jestli₧e vytvo°φte instanci tΘto t°φdy, p°i v²b∞ru vhodnΘ varianty funkce Vypocet vßm pom∙₧e VB .NET prost°ednictvφm technologie IntelliSense (obr. 9).
Obr. 9 û V²b∞r p°etφ₧enΘ
funkce
Klepnete-li v okn∞ okam₧itΘ nßpov∞dy na ikonu se Üipkou dol∙, objevφ se deklarace p°etφ₧enΘ podoby funkce Vypocet.
Jßn Hanßk