Aracılığıyla paylaş


Property-Changed Olayları

PropertyName adlı bir özellik değiştiğinde denetiminizin bildirim göndermesini istiyorsanız, PropertyNameChanged adlı bir olay ve olayı tetikleyen OnPropertyNameChanged adlı bir yöntem tanımlayın. Windows Forms'daki adlandırma kuralı, özelliğin adına Changed sözcüğünü eklemektir. Özellik değiştirme olayları için ilişkili olay temsilcisi türü EventHandlerve olay veri türü EventArgs. Temel sınıf Control, BackColorChanged, BackgroundImageChanged, FontChanged, LocationChangedve diğerleri gibi birçok özellik değişikliği olayını tanımlar. Olaylar hakkında arka plan bilgileri için bkz.Windows Forms Denetimlerinde Olaylar ve Olayları .

Özellik değişikliği olayları, kontrol kullanıcılarının değişikliğe yanıt veren olay işleyicileri eklemesine olanak sağladığından yararlıdır. Denetiminizin tetiklediği özellik değiştirme olayına yanıt vermesi gerekiyorsa, olaya temsilci eklemek yerine ilgili OnPropertyNameChanged yöntemini geçersiz kılın. Denetim genellikle diğer özellikleri güncelleştirerek veya çizim yüzeyinin bir bölümünü veya tümünü yeniden çizerek özellik tarafından değiştirilen bir olaya yanıt verir.

Aşağıdaki örnekte, FlashTrackBar özel denetiminin Controldevraldığı bazı özellik değiştirme olaylarına nasıl yanıt verdiği gösterilmektedir. Tam örnek için bkz. İlerleme Durumunu Gösteren Bir Windows Forms Denetimi Nasıl Oluşturulur?

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

Ayrıca bkz.

  • Olayları
  • Windows Forms Denetimlerinde Olayları
  • Windows Forms Denetimlerinde Özellikler