cool web a perfektni rs- Doporucuji

Sunday, May 06, 2007

Jak se to tedy vlastně má dělat?

Třeba tak, že využijete klíčové slovo TypeOf v součinnosti s kolekcí
Controls. Takže prvotní prototyp událostní procedury Click tlačítka s nápisem Roztočit (předpokládáme, že
uživatel vyhrál, pokud se vylosovala alespoň jedna jednička) může mít tento tvar:
Public Sub btnRoztočit_Click _
(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnRoztočit.Click
Dim ctl As Control
picVýhra.Visible = False ' skryje obrázek z případné předchozí výhry
' vygeneruje náhodná čísla
For Each ctl In Controls
If TypeOf ctl Is Label Then
ctl.Text = VygenerovatPrirozeneCislo()
End If
Next
' Je-li alespoň jedna jednička, uživatel vyhrál
For Each ctl In controls
If TypeOf ctl Is Label Then
If ctl.Text = "1" Then
picVýhra.Visible = True ' zobrazí obrázek výhry
Beep() ' pípne
End If
End If
Next
End Sub
V několika posledních ukázkách kódu vidíte dvě ze tří konstrukcí cyklu, které jsou ve Visual Basicu
k dispozici (tím třetím jsou varianty příkazu Do). První z nich (For – Next) opakuje příkazy těla od dolní
meze po horní mez. Protože v těchto ukázkách není uveden přírůstek, předpokládá se 1. Další ukázky tohoto
druhu cyklu najdete v oddílu „Přidání evidence počtu pokusů a počtu výher“ ve výpisu funkce Vyhral.
Druhý typ cyklu For Each – Next se dá vyjádřit slovy „pro každý prvek v dané kolekci proveď příkazy
těla cyklu“. Controls je kolekce Visual Basicu všech ovládacích prvků na formuláři (v terminologii NET
Framework je to ale vlastnost třídy Control pojmenovaného prostoru System.WinForms a představuje odkaz
na všechny dceřiné ovládací prvky).

Labels: