Návod: Dědění z ovládacího prvku model Windows Forms pomocí jazyka C#

Pomocí jazyka C# můžete vytvářet výkonné vlastní ovládací prvky prostřednictvím dědičnosti. Prostřednictvím dědičnosti můžete vytvářet ovládací prvky, které uchovávají všechny základní funkce standardních model Windows Forms ovládacích prvků, ale také zahrnují vlastní funkce. V tomto názorném postupu vytvoříte jednoduchý zděděný ovládací prvek s názvem ValueButton. Toto tlačítko dědí funkce ze standardního ovládacího prvku model Windows Forms Button a zveřejní vlastní vlastnost s názvem ButtonValue.

Vytvoření projektu

Při vytváření nového projektu zadáte jeho název, abyste nastavili kořenový obor názvů, název sestavení a název projektu a zajistili, že výchozí komponenta bude ve správném oboru názvů.

Vytvoření knihovny ovládacích prvků ValueButtonLib a ovládacího prvku ValueButton

  1. V sadě Visual Studio vytvořte nový projekt knihovny ovládacích prvků model Windows Forms a pojmenujte ho ValueButtonLib.

    Název projektu , ValueButtonLibje také přiřazen ke kořenovému oboru názvů ve výchozím nastavení. Kořenový obor názvů slouží k určení názvů komponent v sestavení. Například pokud dvě sestavení poskytují komponenty pojmenované ValueButton, můžete určit komponentu ValueButton pomocí ValueButtonLib.ValueButton. Další informace naleznete v tématu Obory názvů.

  2. V Průzkumník řešení klikněte pravým tlačítkem na UserControl1.cs a pak v místní nabídce zvolte Přejmenovat. Změňte název souboru na ValueButton.cs. Po zobrazení výzvy, zda chcete přejmenovat všechny odkazy na prvek kódu 'UserControl1' klikněte na tlačítko Ano.

  3. V Průzkumník řešení klikněte pravým tlačítkem na ValueButton.cs a vyberte Zobrazit kód.

  4. class Vyhledejte řádek příkazu a změňte typ, public partial class ValueButtonze kterého tento ovládací prvek dědí z UserControl do Button. To umožňuje zděděný ovládací prvek dědit všechny funkce Button ovládacího prvku.

  5. V Průzkumník řešení otevřete uzel ValueButton.cs a zobrazte soubor kódu vygenerovaný návrhářem ValueButton.Designer.cs. Otevřete tento soubor v Editoru kódu.

  6. Vyhledejte metodu InitializeComponent a odeberte řádek, který přiřazuje AutoScaleMode vlastnost. Tato vlastnost v ovládacím Button prvku neexistuje.

  7. V nabídce Soubor zvolte Uložit vše a uložte projekt.

    Poznámka:

    Vizuální návrhář už není k dispozici. Vzhledem k tomu, že Button ovládací prvek vlastní obraz, nemůžete změnit jeho vzhled v návrháři. Jeho vizuální reprezentace bude přesně stejná jako třída, Buttonze které dědí (tj. ) pokud není upravena v kódu. Do návrhové plochy můžete přidat komponenty, které nemají žádné prvky uživatelského rozhraní.

Přidání vlastnosti do zděděného ovládacího prvku

Jedním z možných použití zděděných ovládacích prvků model Windows Forms je vytvoření ovládacích prvků, které jsou identické vzhledem a chováním standardních ovládacích prvků model Windows Forms, ale zveřejňují vlastní vlastnosti. V této části přidáte do ovládacího prvku vlastnost volanou ButtonValue .

Přidání vlastnosti Value

  1. V Průzkumník řešení klepněte pravým tlačítkem na ValueButton.cs a potom klepněte na příkaz Zobrazit kód z místní nabídky.

  2. class Vyhledejte příkaz. Bezprostředně za znakem {zadejte následující kód:

    // Creates the private variable that will store the value of your
    // property.
    private int varValue;
    // Declares the property.
    public int ButtonValue
    {
       // Sets the method for retrieving the value of your property.
       get
       {
          return varValue;
       }
       // Sets the method for setting the value of your property.
       set
       {
          varValue = value;
       }
    }
    

    Tento kód nastaví metody, ButtonValue kterými je vlastnost uložena a načtena. Příkaz get nastaví hodnotu vrácenou na hodnotu uloženou v privátní proměnné varValuea set příkaz nastaví hodnotu privátní proměnné pomocí klíčového value slova.

  3. V nabídce Soubor zvolte Uložit vše a uložte projekt.

Otestování ovládacího prvku

Ovládací prvky nejsou samostatné projekty; musí být hostované v kontejneru. Abyste mohli svůj ovládací prvek otestovat, musíte zadat testovací projekt, ve který se má spustit. Ovládací prvek musíte také zpřístupnit testovacímu projektu tak, že ho sestavíte (kompilujete). V této části sestavíte ovládací prvek a otestujete ho ve formuláři Windows Form.

Sestavení ovládacího prvku

V nabídce Sestavení klikněte na Sestavit řešení. Sestavení by mělo být úspěšné bez chyb kompilátoru nebo upozornění.

Vytvoření testovacího projektu

  1. V nabídce Soubor přejděte na příkaz Přidat a klepněte na tlačítko Nový projekt otevřete dialogové okno Přidat nový projekt.

  2. Vyberte uzel Windows pod uzlem Visual C# a klikněte na model Windows Forms Aplikace.

  3. Do pole Název zadejte Test.

  4. V Průzkumník řešení klikněte pravým tlačítkem myši na uzel Reference pro váš testovací projekt a potom v místní nabídce vyberte Přidat odkaz, aby se zobrazilo dialogové okno Přidat odkaz.

  5. Klikněte na kartu s popiskem Projekty. Projekt ValueButtonLib bude uvedený v části Název projektu. Poklikáním na projekt přidejte odkaz na testovací projekt.

  6. V Průzkumník řešení klikněte pravým tlačítkem na Test a vyberte Sestavit.

Přidání ovládacího prvku do formuláře

  1. V Průzkumník řešení klikněte pravým tlačítkem na Form1.cs a v místní nabídce zvolte Návrhář zobrazení.

  2. Na panelu nástrojů vyberte Součásti ValueButtonLib. Poklikejte na ValueButton.

    Ve formuláři se zobrazí hodnotaButton .

  3. Klikněte pravým tlačítkem myši na hodnotu ValueButton a v místní nabídce vyberte Vlastnosti .

  4. V okně Vlastnosti zkontrolujte vlastnosti tohoto ovládacího prvku. Všimněte si, že jsou identické s vlastnostmi vystavenými standardním tlačítkem, s tím rozdílem, že existuje další vlastnost ButtonValue.

  5. Nastavte vlastnost ButtonValue na hodnotu 5.

  6. Na kartě Vše model Windows Forms panelu nástrojů poklikejte na Popisek a přidejte Label do formuláře ovládací prvek.

  7. Přemísťujte popisek na střed formuláře.

  8. Poklikejte na valueButton1.

    Otevře se editor kódu události valueButton1_Click .

  9. Vložte následující řádek kódu.

    label1.Text = valueButton1.ButtonValue.ToString();
    
  10. V Průzkumník řešení klikněte pravým tlačítkem myši na Test a v místní nabídce zvolte Nastavit jako spouštěný projekt.

  11. V nabídce Ladění vyberte Spustit ladění.

    Form1 Zobrazí.

  12. Klikněte na valueButton1.

    Číslice 5 je zobrazena v label1, což ukazuje, že ButtonValue vlastnost zděděného ovládacího prvku byla předána label1 prostřednictvím valueButton1_Click metody. ValueButton Váš ovládací prvek tak dědí všechny funkce standardního tlačítka model Windows Forms, ale zpřístupní další vlastní vlastnost.

Viz také