Özellik Değişti Olayları
PropertyName adlı bir özellik değiştiğinde denetiminizin bildirim göndermesini istiyorsanız PropertyNameChanged
adlı bir olay ve olayı tetikleyen PropertyNameChanged
adlı On
bir yöntem tanımlayın. Windows Forms'daki adlandırma kuralı, özelliğin adına Changed sözcüğünü eklemektir. Özellik tarafından değiştirilen olaylar için ilişkili olay temsilcisi türü, EventHandlerolay veri türü ise şeklindedir EventArgs. Temel sınıfControl, , BackgroundImageChanged, FontChangedLocationChanged, ve diğerleri gibi BackColorChangedbirçok özellik tarafından değiştirilen olayı tanımlar. Olaylar hakkında arka plan bilgileri için bkz. Windows Forms Denetimlerinde Olaylar ve Olaylar.
Özellik değiştirme olayları, denetimin tüketicilerinin 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 On
PropertyNameChanged
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, özel denetimin FlashTrackBar
öğesinden Controldevraldığı bazı özellik değişikliği olaylarına nasıl yanıt verdiği gösterilmektedir. Örneğin tamamı için bkz . Nasıl yapılır: İlerleme Durumunu Gösteren Bir Windows Forms 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
Ayrıca bkz.
.NET Desktop feedback
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Gönderin ve geri bildirimi görüntüleyin