Krok 3: Ukončit hru
Chcete-li, aby se hra ukončila, zprovozníte jmenovku Konec. Provedete to přidáním obslužné rutiny události pro událost jmenovky MouseEnter.
Poznámka
Pokud jste dokončili kurz 1: Vytvořit prohlížeč obrázků, znáte obslužné rutiny události. Většina ovládacích prvků mají mnoho různých událostí, které mohou vyvolat. Prohlížeč obrázků použil událost Click ovládacího prvku Button a událost CheckChanged ovládacího prvku CheckBox. V tomto kurzu použijete událost MouseEnter ovládacího prvku Label, která se vyvolává pokaždé, když ukazatel myši vstoupí na ovládací prvek. Ovládací prvek Label má více než čtyři tucty událostí. Většina má intuitivní názvy jako například DoubleClick, Resize a TextChanged. Dále v tomto výukovém programu se zobrazí seznam názvů událostí.
Ukončit hru
Vyberte ovládací prvek finishLabel a potom klikněte na ikonu Událost v horní části okna Vlastnosti, které je ve tvaru blesku. Když na ni kliknete, namísto zobrazení vlastností ovládacího prvku, se zobrazí události ovládacího prvku. Můžete se vrátit k seznamu vlastností kliknutím na ikonu Vlastnost. Prozatím nechejte okno Vlastnosti tak, jak je, takže zobrazuje všechny události pro ovládací prvek finishLabel. Přejděte k události MouseEnter. Ikony a událost MouseEnter se zobrazí jako následující.
Událost – ikona
Vlastnost – ikona
MouseEnter – událost
Dvakrát klikněte na slovo MouseEnter. Poté, co tak učiníte, rozhraní IDE automaticky přidá metodu obslužné rutiny události do formuláře a zobrazí vám ji v editoru kódu takto.
Private Sub finishLabel_MouseEnter() Handles finishLabel.MouseEnter End Sub
private void finishLabel_MouseEnter(object sender, EventArgs e) { }
Tato metoda obslužné rutiny události se spustí pokaždé, když ukazatel myši vstoupí na jmenovku.
Chcete, aby program otevřel okno se zprávou, které zobrazuje "Blahopřejeme", a pak se má program zavřít. Uděláte to tak, že přidáte řádky kódu (s komentářem) takto.
Private Sub finishLabel_MouseEnter() Handles finishLabel.MouseEnter ' Show a congratulatory MessageBox, then close the form. MessageBox.Show("Congratulations!") Close() End Sub
private void finishLabel_MouseEnter(object sender, EventArgs e) { // Show a congratulatory MessageBox, then close the form. MessageBox.Show("Congratulations!"); Close(); }
Poznámka
Vaše metoda finishLabel_MouseEnter() má dva příkazy. První příkaz volá metodu nazvanou Show(), která otevře okno se zprávou obsahující jakýkoli text, který umístíte do závorek.
Můžete se naučit více o tom, co se děje, používáním rozhraní IDE k prozkoumání vašeho kódu. Vezměte ukazatel myši a umístěte ho tak, aby byl přes slovo MessageBox. Měl by se zobrazit následující popis tlačítka:
Popis tlačítka
Poznámka
Rozhraní IDE ukáže, že existuje třída nazvaná System.Windows.Forms.MessageBox a metoda Show(), která je volána uvnitř třídy. Není nutné úplné pochopení práce okna se zprávou, ale další informace mohou být užitečné.
Pokud jde o druhý příkaz, každý formulář má vestavěnou metodu nazvanou Close(), která způsobí, že se formulář zavře. Některé programy obsahují několik oken, mezi kterými může uživatel přepínat. Při práci v programu jako takovém zavře aktuální okno, ale ponechá zbytek programu spuštěný. (Například pokud máte několik dokumentů systému Microsoft Office Word otevřených současně, zavření okna jednoho dokumentu zavře tento dokument, ale systém Office Word zůstane otevřený.) V programu jako tento však existuje pouze jedno okno, takže zavření tohoto okna způsobí, že se program ukončí, takže zavření formuláře ukončí váš program.
Uložte program a spusťte jej. Přesuňte ukazatel myši nad jmenovku Konec. Měla by otevřít zprávu, a pak ukončit program.
Chcete-li pokračovat nebo znovu projít
Přechod na další výukový program naleznete v tématu Krok 4: Přidat metodu k restartování hry.
K návratu do předchozího kroku výukového programu přejděte na Krok 2: Sestavit vaše bludiště pomocí jmenovek.