události Property-Changed
Pokud chcete, aby ovládací prvek odesílal oznámení, když se změní vlastnost s názvem PropertyName, definujte událost s názvem PropertyNameChanged
a metodu s názvem On
PropertyNameChanged
, která vyvolá událost. Konvence vytváření názvů ve Windows Forms je připojit slovo Změněno k názvu vlastnosti. Přidružený typ delegáta události pro události změny vlastnosti je EventHandlera datový typ události je EventArgs. Základní třída Control definuje mnoho událostí změny vlastností, takových jako BackColorChanged, BackgroundImageChanged, FontChanged, LocationChangeda další. Základní informace o událostech naleznete v tématu Události a Události v ovládacích prvcích Windows Forms.
Události změny vlastnosti jsou užitečné, protože umožňují uživatelům prvku připojit obslužné rutiny událostí, které na změnu reagují. Pokud váš ovládací prvek vyvolá událost změny vlastnosti a potřebuje na ni reagovat, místo připojení delegáta k události přepište odpovídající metodu On
PropertyNameChanged
. Ovládací prvek obvykle reaguje na událost změněnou vlastností tím, že aktualizuje jiné vlastnosti nebo překreslí některé nebo všechny jeho plochy výkresu.
Následující příklad ukazuje, jak vlastní ovládací prvek FlashTrackBar
reaguje na některé události změny vlastností, které dědí z Control. Kompletní ukázku najdete v části Jak vytvořit ovládací prvek Windows Forms, který zobrazuje průběh.
protected override void OnTextChanged(EventArgs e) {
base.OnTextChanged(e);
Invalidate();
}
protected override void OnBackColorChanged(EventArgs e) {
base.OnBackColorChanged(e);
if ((baseBackground != null) && (!showGradient)) {
baseBackground.Dispose();
baseBackground = null;
}
}
Protected Overrides Sub OnTextChanged(ByVal E As EventArgs)
MyBase.OnTextChanged(E)
Invalidate()
End Sub
Protected Overrides Sub OnBackColorChanged(ByVal E As EventArgs)
MyBase.OnBackColorChanged(E)
If (baseBackground IsNot Nothing) And Not ShowGradient Then
baseBackground.Dispose()
baseBackground = Nothing
End If
End Sub
Viz také
.NET Desktop feedback