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

Sestrojení průhledného formuláře

Ukázka použití ovládacího prvku ToolTip

Ukázka použití ovládacího prvku ErrorProvider

Vytvoření přetížené funkce

 

 

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:

 

  1. Spusťte VB .NET, v okně pro výběr nového projektu vyberte položku Class Library, projekt pojmenujte jako Trida_01, zatrhněte volbu Create directory for Solution a klepněte na tlačítko OK.
  2. VB .NET vytvoří projekt příslušného typu a otevře pro vás okno pro zápis kódu (obr. 1).  

 

 

Obr. 1 – Kód třídy vygenerovaný Visual Basicem .NET

 

  1. Změňte jméno třídy na Kruh a jestliže chcete, můžete přejmenovat i soubor, ve kterém je programový kód třídy uložen. Standardně má tento soubor jméno Class1.vb.
  2. Přidejte do třídy deklaraci konstanty a kód pro metodu ObsahKruhu. Výslednou podobu kódu třídy Kruh můžete vidět na obr. 2.

 

 

Obr. 2 – Finální podoba třídy Kruh

 

  1. Uložte projekt a proveďte jeho kompilaci, čímž vytvoříte assembly ve formě DLL s kódem třídy.
  2. Přidejte ke stávajícímu projektu nový testovací projekt typu Windows Application (File>Add Project>New Project).
  3. Do testovacího projektu přidejte odkaz na assembly s třídou (Project>Add Reference). Klepněte na tlačítko Browse a vyhledejte potřebnou assembly.  
  4. Umístěte na formulář testovacího projektu instanci ovládacího prvku Button, kterou můžete nechat implicitně pojmenovanou. Její obsluhu události Click vyplňte tímto kódem:

 

      Dim f As New Trida_01.Kruh()

      MessageBox.Show(f.ObsahKruhu(10).ToString)

 

  1. V okně Průzkumníka řešení klepněte pravým tlačítkem myši na jméno testovacího projektu. Záhy se objeví kontextové menu, ve kterém klikněte na položku Set as StartUp Project.
  2. Spusťte projekt a klepněte na tlačítko. V okně se zprávou se zobrazí hodnota, která přináleží obsahu kruhu, jehož poloměr je roven 10.

 

 

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:

 

  1. Přidejte na formulář textové pole (Textbox1) a tlačítko (Button1).
  2. Umístěte na podnos komponent ovládací prvek ErrorProvider.
  3. Podoba vašeho projektu by měla být podobná té z obr. 7.

 

 

Obr. 7 – Ukázka podoby projektu

 

  1. Do obsluhy události Click tlačítka Button1 přidejte tento programový kód:

 

        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.

 

  1. Spusťte projekt a klikněte na tlačítko Button1 bez toho, abyste cokoliv zapisovali do textového pole (obr. 8).

 

 

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