Compartilhar via


Eventos de alteração de propriedade

Se você desejar que o controle para enviar notificações quando uma propriedade chamada PropertyName alterações, definir um evento chamado PropertyNameChanged e um método chamado OnPropertyNameChanged que dispara o evento.A convenção de nomeclatura do Windows Forms é acrescentar a palavra Alterado para o nome da propriedade.O tipo de delegado de evento associado para eventos de propriedade alterada é EventHandler, e o tipo de dados do evento é EventArgs. A classe base Control define muitos eventos de propriedade alterada, sistema autônomo BackColorChanged, BackgroundImageChanged, FontChanged, LocationChangede outros. Para obter informações detalhadas sobre eventos, consulte Tratamento e disparada de eventos e Eventos em controles Windows Forms.

Propriedade alterada eventos são úteis porque permitem que os consumidores de um controle de anexar manipuladores de eventos que respondem à alterar.Se seu controle precisa responder a um evento de propriedade alterada que gera, substituir o correspondente OnPropertyNameChanged método em vez de anexar um delegado ao evento.Um controle normalmente responde a um evento de propriedade alterada atualizando outras propriedades ou redesenhando algumas ou todas as sua superfície de desenho.

O exemplo a seguir mostra como a FlashTrackBar controle personalizado responde a alguns dos eventos propriedade alterada, ele herda de Control. For the complete sample, see Como: Criar um controle Windows Forms que mostra o andamento.

Protected Overrides Sub OnTextChanged(ByVal E As EventArgs)
    MyBase.OnTextChanged(E)
    Invalidate()
End Sub

Protected Overrides Sub OnBackColorChanged(ByVal E As EventArgs)
    MyBase.OnTextChanged(E)
    If (baseBackground IsNot Nothing) And Not ShowGradient Then
        baseBackground.Dispose()
        baseBackground = Nothing
    End If
End Sub
protected override void OnTextChanged(EventArgs e) {
    base.OnTextChanged(e);
    Invalidate();
}

protected override void OnBackColorChanged(EventArgs e) {
    base.OnTextChanged(e);
    if ((baseBackground != null) && (!showGradient)) {
                baseBackground.Dispose();
                baseBackground = null;
    }
}

Consulte também

Conceitos

Eventos em controles Windows Forms

Outros recursos

Tratamento e disparada de eventos

Propriedades em controles Windows Forms