Özellik Değişti Olayları
PropertyName adlı bir özellik değişirken denetiminizin bildirim göndermesi için PropertyName adlı bir olay ve olayı yükselten PropertyName adlı bir yöntem tanımlayın. Formlar'Windows adlandırma kuralı, özelliğin adına Değiştirilen sözcüğü eklemektir. Özellik değiştirilmiş olaylar için ilişkili olay temsilcisi türü olur EventHandler ve olay veri türü EventArgs olur. Temel sınıf, , , , ve diğerleri gibi özellik tarafından değiştirilen ControlBackColorChanged birçok olay BackgroundImageChangedFontChangedLocationChanged tanımlar. Olaylar hakkında arka plan bilgileri için bkz. Form Denetimleri'Windows Olaylar.
Özellik değiştirme olayları, bir denetimin tüketicilerinin değişiklike yanıt veren olay işleyicileri eklemesine izin verecekleri için yararlıdır. Denetiminizin, özellik değiştirme olayına yanıt vermesi gerekirse, olayına bir temsilci eklemek yerine ilgili OnOnChanged yöntemini geçersiz kılın. Denetim genellikle diğer özellikleri güncelleştirerek veya çizim yüzeyinin bir veya hepsini yeniden çizerek özellik değiştirme olayına yanıt verir.
Aşağıdaki örnek, özel FlashTrackBar denetimin özelliğinden devralınan özellik değiştirme olaylarından bazılarına nasıl yanıt verdiğini Control gösterir. Tam örnek için bkz. Nasıl 2012: Windows Gösteren FormLar Denetimi Oluşturma.
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