События изменения свойств
Если требуется, чтобы элемент управления для отправки уведомлений, когда свойство с именем PropertyName изменения, определите событие с именем PropertyName Changed
и метод с именем On
PropertyName Changed
, генерирующий данное событие. Соглашение об именовании в Windows Forms — добавить слово Changed к имени свойства. Связанный тип делегата события для события изменения свойств является EventHandler, и типом данных события является EventArgs. Базовый класс Control определяет много событий изменения свойств, таких как BackColorChanged, BackgroundImageChanged, FontChanged, LocationChangedи другие. Общие сведения о событиях, см. в разделе события и события элементов управления Windows Forms.
События изменения свойств полезны, так как они позволяют пользователям элемента управления для присоединения обработчиков событий, которые реагируют на изменения. Если элемент управления должен реагировать на событие изменения свойства, которое, переопределите соответствующие On
PropertyName Changed
метод вместо присоединения делегата к событию. Элемент управления обычно отвечает на событие изменения свойства, обновляя другие свойства, либо некоторые или все его поверхности рисования.
В следующем примере показан как FlashTrackBar
пользовательский элемент управления отвечает на некоторые события изменения свойств, которые он наследует от Control. Полный пример см. в разделе как: Создание элемента управления Windows Forms, показывающего прогресс.
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;
}
}