Ovládací události

Ovládací prvky poskytují události, které jsou vyvolány při interakci uživatele s ovládacím prvku nebo při změně stavu ovládacího prvku. Tento článek popisuje běžné události sdílené většinou ovládacích prvků, události vyvolané interakcí uživatele a události jedinečné pro konkrétní ovládací prvky. Další informace o událostech ve Windows Forms najdete v tématu Přehled událostí a Zpracování a vyvolávání událostí.

Další informace o tom, jak přidat nebo odebrat obslužnou rutinu řídicí události, naleznete v tématu Jak zpracovat událost.

Běžné události

Ovládací prvky poskytují více než 60 událostí prostřednictvím základní třídy Control. Patří sem událost Paint, která způsobí vykreslení ovládacího prvku, události související se zobrazením okna, jako jsou Resize a Layout události, a události myši a klávesnice nízké úrovně. Některé události nízké úrovně jsou syntetizovány Control do sémantických událostí, jako jsou Click a DoubleClick. Většina sdílených událostí spadá do těchto kategorií:

  • Události myši
  • Události klávesnice
  • Události změny vlastností
  • Další události

Události myši

Vzhledem k tomu, že Windows Forms je technologie uživatelského rozhraní, vstup myši je primární způsob, jakým uživatelé pracují s aplikací Windows Forms. Všechny ovládací prvky poskytují základní události související s myší:

Další informace naleznete v tématu Použití událostí myši.

Události klávesnice

Pokud ovládací prvek reaguje na uživatelský vstup, například ovládací prvky TextBox nebo Button, je vyvolána příslušná vstupní událost pro ovládací prvek. Ovládací prvek musí být zaměřený na příjem událostí klávesnice. Některé ovládací prvky, například ovládací prvek Label, se nedají soustředit a nemůžou přijímat události klávesnice. Následuje seznam událostí klávesnice:

Další informace naleznete v části Použití událostí klávesnice.

Události změny vlastností

Windows Forms se řídí vzorem PropertyNameChanged pro vlastnosti, které mají události změn. Modul datových vazeb, který poskytuje Windows Forms, rozpozná tento vzor a dobře se s ním integruje. Při vytváření vlastních ovládacích prvků implementujte tento vzor.

Tento model implementuje následující pravidla pomocí vlastnosti FirstName jako příklad:

  • Pojmenujte vlastnost: FirstName.
  • Vytvořte pro vlastnost událost pomocí vzoru PropertyNameChanged: FirstNameChanged.
  • Vytvořte privátní nebo chráněnou metodu pomocí vzoru OnPropertyNameChanged: OnFirstNameChanged.

Pokud vlastnost FirstName sada modifikuje základní hodnotu, je volána metoda OnFirstNameChanged. Metoda OnFirstNameChanged vyvolá událost FirstNameChanged.

Tady je několik běžných událostí spojených se změnami vlastností ovládacího prvku:

Událost Popis
BackColorChanged Nastane, když se změní hodnota vlastnosti BackColor.
BackgroundImageChanged Nastane, když se změní hodnota vlastnosti BackgroundImage.
BindingContextChanged Nastane, když se změní hodnota vlastnosti BindingContext.
DockChanged Nastane, když se změní hodnota vlastnosti Dock.
EnabledChanged Nastane, když se změní hodnota vlastnosti Enabled.
FontChanged Nastane, když se změní hodnota vlastnosti Font.
ForeColorChanged Nastane, když se změní hodnota vlastnosti ForeColor.
LocationChanged Nastane, když se změní hodnota vlastnosti Location.
SizeChanged Nastane, když se změní hodnota vlastnosti Size.
VisibleChanged Nastane, když se změní hodnota vlastnosti Visible.

Úplný seznam událostí najdete v části Události třídy Control Class.

Další události

Ovládací prvky budou také vyvolávat události na základě stavu ovládacího prvku nebo jiných interakcí s ovládacím prvku. Například událost HelpRequested se vyvolá, pokud má ovládací prvek fokus a uživatel stiskne klávesu F1. Tato událost je vyvolána také v případě, že uživatel stiskne kontextově citlivé tlačítko Nápověda ve formuláři a potom kurzorem nápovědy klikne na ovládací prvek.

Dalším příkladem je, když je ovládací prvek změněn, přesunut nebo změněn jeho velikost, vyvolána je událost Paint. Tato událost poskytuje vývojáři možnost kreslit na ovládací prvek a změnit jeho vzhled.

Úplný seznam událostí najdete v části Události třídy Control Class.

Viz také