Partilhar via


Eventos de propriedade alterada

Se você deseja que o seu 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 nomenclatura do Windows Forms é acrescentar a palavra Changed para o nome da propriedade. O tipo de delegado do evento associado para eventos de propriedade alterada é EventHandler, e o tipo de dados de evento é EventArgs. A classe base Control define muitos eventos de propriedade alterada, como 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 anexar manipuladores de eventos para respondem à alteração. Se o seu controle precisa responder a um evento de propriedade alterada 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 por outras propriedades de atualização ou redesenhando algumas ou todas as sua superfície de desenho.

A exemplo a seguir mostra como o 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.OnBackColorChanged(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.OnBackColorChanged(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 de controles do Windows Forms