Sdílet prostřednictvím


Typy vlastních ovládacích prvků

S rozhraním .NET Framework můžete vyvíjet a implementovat nové ovládací prvky. Funkce známého uživatelského ovládacího prvku a existujících ovládacích prvků můžete rozšířit prostřednictvím dědičnosti. Můžete také napsat vlastní ovládací prvky, které provádějí vlastní obraz.

Rozhodování o tom, jaký druh ovládacího prvku se má vytvořit, může být matoucí. Toto téma popisuje rozdíly mezi různými druhy ovládacích prvků, ze kterých můžete dědit, a poskytuje informace o tom, jak zvolit konkrétní druh ovládacího prvku pro váš projekt.

Poznámka:

Informace o vytváření ovládacího prvku pro použití ve webových formulářích naleznete v tématu Vývoj vlastních ASP.NET serverových ovládacích prvků.

Základní třída ovládacího prvku

Třída Control je základní třídou pro model Windows Forms ovládací prvky. Poskytuje infrastrukturu potřebnou pro vizuální zobrazení v aplikacích model Windows Forms.

Třída Control provádí následující úlohy, které poskytují vizuální zobrazení v model Windows Forms aplikacích:

  • Zveřejňuje popisovač okna.

  • Spravuje směrování zpráv.

  • Poskytuje události myši a klávesnice a mnoho dalších událostí uživatelského rozhraní.

  • Poskytuje pokročilé funkce rozložení.

  • Obsahuje mnoho vlastností specifických pro zobrazení vizuálu, například ForeColor, BackColor, Heighta Width.

  • Poskytuje podporu zabezpečení a podprocesu potřebné k tomu, aby ovládací prvek model Windows Forms fungoval jako ovládací prvek Microsoft® technologie ActiveX ®.

Vzhledem k tomu, že základní třída poskytuje tolik infrastruktury, je relativně snadné vyvíjet vlastní model Windows Forms ovládací prvky.

Druhy ovládacích prvků

model Windows Forms podporuje tři druhy uživatelsky definovaných ovládacích prvků: složené, rozšířené a vlastní. Následující části popisují jednotlivé druhy řízení a poskytují doporučení pro výběr typu, který se má použít ve vašich projektech.

Složené ovládací prvky

Složený ovládací prvek je kolekce model Windows Forms ovládacích prvků zapouzdřených ve společném kontejneru. Tento druh ovládacího prvku se někdy označuje jako uživatelský ovládací prvek. Obsažené ovládací prvky se nazývají základní ovládací prvky.

Složený ovládací prvek obsahuje všechny základní funkce přidružené ke každému z obsažených ovládacích prvků model Windows Forms a umožňuje selektivně zveřejnit a svázat jejich vlastnosti. Složený ovládací prvek také poskytuje spoustu výchozích funkcí pro zpracování klávesnice bez dalšího úsilí o vývoj ve vaší části.

Složený ovládací prvek může být například sestaven tak, aby zobrazoval data adres zákazníků z databáze. Tento ovládací prvek může zahrnovat DataGridView ovládací prvek pro zobrazení databázových polí, BindingSource popisovač vazby ke zdroji dat a BindingNavigator ovládací prvek pro procházení záznamů. Můžete selektivně zveřejnit vlastnosti datové vazby a můžete zabalit a znovu použít celý ovládací prvek z aplikace do aplikace. Příklad tohoto typu složeného ovládacího prvku naleznete v tématu Postupy: Použití atributů v ovládacích prvcích model Windows Forms.

Chcete-li vytvořit složený ovládací prvek, odvodit z UserControl třídy. Základní UserControl třída poskytuje směrování klávesnice pro podřízené ovládací prvky a umožňuje podřízeným ovládacím prvkům pracovat jako skupina. Další informace naleznete v tématu Vývoj složeného model Windows Forms ovládacího prvku.

Doporučení

Dědit z UserControl třídy if:

  • Chcete zkombinovat funkce několika ovládacích prvků model Windows Forms do jedné opakovaně použitelné jednotky.

Rozšířené ovládací prvky

Zděděný ovládací prvek můžete odvodit z jakéhokoli existujícího ovládacího prvku model Windows Forms. Díky tomuto přístupu můžete zachovat všechny základní funkce ovládacího prvku model Windows Forms a tuto funkci rozšířit přidáním vlastních vlastností, metod nebo jiných funkcí. Pomocí této možnosti můžete přepsat logiku malování základního ovládacího prvku a rozšířit jeho uživatelské rozhraní změnou vzhledu.

Můžete například vytvořit ovládací prvek odvozený z Button ovládacího prvku, který sleduje, kolikrát na něj uživatel kliknul.

V některých ovládacích prvcích můžete také přidat vlastní vzhled do grafického uživatelského rozhraní ovládacího prvku přepsáním OnPaint metody základní třídy. U rozšířeného tlačítka, které sleduje kliknutí, můžete přepsat OnPaint metodu volání základní implementace OnPainta potom nakreslit počet kliknutí v jednom rohu Button klientské oblasti ovládacího prvku.

Doporučení

Dědí z ovládacího prvku model Windows Forms, pokud:

  • Většina funkcí, které potřebujete, je již identická s existujícím ovládacím model Windows Forms ovládacím prvku.

  • Nepotřebujete vlastní grafické uživatelské rozhraní nebo chcete navrhnout nové grafické uživatelské rozhraní pro existující ovládací prvek.

Vlastní ovládací prvky

Dalším způsobem, jak vytvořit ovládací prvek, je vytvořit jeden podstatně od začátku děděním z Control. Třída Control poskytuje všechny základní funkce vyžadované ovládacími prvky, včetně událostí zpracování myši a klávesnice, ale žádné funkce specifické pro řízení ani grafické rozhraní.

Vytvoření ovládacího prvku děděním z Control třídy vyžaduje mnohem větší myšlenku a úsilí než dědění z UserControl existujícího ovládacího prvku model Windows Forms. Vzhledem k tomu, že pro vás zbývá velké množství implementace, může mít váš ovládací prvek větší flexibilitu než složený nebo rozšířený ovládací prvek a můžete si ovládací prvek přizpůsobit tak, aby vyhovoval vašim přesným potřebám.

Pokud chcete implementovat vlastní ovládací prvek, musíte napsat kód pro OnPaint událost ovládacího prvku a také jakýkoli kód specifický pro funkce, který potřebujete. Můžete také přepsat metodu WndProc a zpracovat zprávy systému Windows přímo. Toto je nejúčinnější způsob, jak vytvořit ovládací prvek, ale pokud chcete tuto techniku efektivně používat, musíte být obeznámeni s rozhraním MICROSOFT Win32® API.

Příkladem vlastního ovládacího prvku je ovládací prvek hodin, který duplikuje vzhled a chování analogových hodin. Vlastní malování se vyvolá, aby se ruce hodin přesunuly v reakci na Tick události z interní Timer komponenty. Další informace naleznete v tématu Postupy: Vývoj jednoduchého ovládacího prvku model Windows Forms.

Doporučení

Dědit z Control třídy if:

  • Chcete poskytnout vlastní grafické znázornění ovládacího prvku.

  • Je potřeba implementovat vlastní funkce, které nejsou dostupné prostřednictvím standardních ovládacích prvků.

ActiveX – ovládací prvky

I když je infrastruktura model Windows Forms optimalizovaná pro hostování ovládacích prvků model Windows Forms, můžete i nadále používat technologie ActiveX ovládací prvky. Tato úloha je v sadě Visual Studio podporována. Další informace naleznete v tématu Postupy: Přidání ovládacích prvků technologie ActiveX do model Windows Forms.

Ovládací prvky bez oken

Technologie Microsoft Visual Basic® 6.0and technologie ActiveX podporují ovládací prvky bez oken. Ovládací prvky bez oken nejsou v model Windows Forms podporované.

Vlastní prostředí návrhu

Pokud potřebujete implementovat vlastní prostředí pro návrh, můžete vytvořit vlastního návrháře. U složených ovládacích prvků odvozujte vlastní třídu návrháře ParentControlDesigner z tříd nebo z nich DocumentDesigner . U rozšířených a vlastních ovládacích prvků odvozujte třídu vlastního návrháře ControlDesigner z třídy.

DesignerAttribute Pomocí ovládacího prvku přidružte svůj ovládací prvek k návrháři. Další informace najdete v tématu Rozšíření podpory návrhu a postupy: Vytvoření ovládacího prvku model Windows Forms, který využívá výhod funkcí návrhu.

Viz také