Olayları denetleme (Windows Forms .NET)
Denetimler, kullanıcı denetimle etkileşime geçtiğinde veya denetimin durumu değiştiğinde tetiklenen olaylar sağlar. Bu makalede çoğu denetim tarafından paylaşılan yaygın olaylar, kullanıcı etkileşimi tarafından tetiklenen olaylar ve belirli denetimlere özgü olaylar açıklanmaktadır. Windows Forms'daki olaylar hakkında daha fazla bilgi için bkz . Olaylara genel bakış ve Olayları işleme ve oluşturma.
Denetim olay işleyicisi ekleme veya kaldırma hakkında daha fazla bilgi için bkz . Olay işleme.
Yaygın olaylar
Denetimler, temel sınıfı Controlaracılığıyla 60'tan fazla olay sağlar. Bunlar, denetimin Paint çizilmesine neden olan olayı, ve Layout olayları gibi bir pencereyi görüntülemeyle Resize ilgili olayları ve alt düzey fare ve klavye olaylarını içerir. Bazı düşük düzeyli olaylar ve DoubleClickgibi anlamsal olaylar olarak Click sentezlenirControl. Paylaşılan olayların çoğu şu kategorilere ayrılır:
- Fare olayları
- Klavye olayları
- Özellik değiştirilen olaylar
- Diğer olaylar
Fare olayları
Windows Forms'un bir Kullanıcı Arabirimi (UI) teknolojisi olduğunu göz önünde bulundurarak, kullanıcıların bir Windows Forms uygulamasıyla etkileşim kurmasının birincil yolu fare girişidir. Tüm denetimler fareyle ilgili temel olayları sağlar:
- MouseClick
- MouseDoubleClick
- MouseDown
- MouseEnter
- MouseHover
- MouseLeave
- MouseMove
- MouseUp
- MouseWheel
- Click
Daha fazla bilgi için bkz . Fare olaylarını kullanma.
Klavye olayları
Denetim veya denetimi gibi TextBox Button kullanıcı girişlerine yanıt verirse, denetim için uygun giriş olayı oluşturulur. Denetimin klavye olaylarını alacak şekilde odaklanmış olması gerekir. Denetim gibi Label bazı denetimler odaklanamaz ve klavye olaylarını alamaz. Klavye olaylarının listesi aşağıdadır:
Daha fazla bilgi için bkz . Klavye olaylarını kullanma.
Özellik değiştirilen olaylar
Windows Forms, değişiklik olayları olan özellikler için PropertyNameChanged desenini izler. Windows Forms tarafından sağlanan veri bağlama altyapısı bu düzeni tanır ve onunla iyi tümleşir. Kendi denetimlerinizi oluştururken bu düzeni uygulayın.
Bu düzen, örnek olarak özelliğini FirstName
kullanarak aşağıdaki kuralları uygular:
- Özelliğinize şu adı verin:
FirstName
. - desenini
PropertyNameChanged
kullanarak özelliği için bir olay oluşturun:FirstNameChanged
. - desenini
OnPropertyNameChanged
kullanarak özel veya korumalı bir yöntem oluşturun:OnFirstNameChanged
.
FirstName
Özellik kümesi yedekleme değerini değiştirirse yöntemi OnFirstNameChanged
çağrılır. OnFirstNameChanged
yöntemi olayı tetiklerFirstNameChanged
.
Bir denetim için ortak özellik değişikliği olaylarından bazıları şunlardır:
Olay | Açıklama |
---|---|
BackColorChanged | Özelliğin değeri değiştiğinde BackColor gerçekleşir. |
BackgroundImageChanged | Özelliğin değeri değiştiğinde BackgroundImage gerçekleşir. |
BindingContextChanged | Özelliğin değeri değiştiğinde BindingContext gerçekleşir. |
DockChanged | Özelliğin değeri değiştiğinde Dock gerçekleşir. |
EnabledChanged | Özellik değeri değiştiğinde Enabled gerçekleşir. |
FontChanged | Özellik değeri değiştiğinde Font gerçekleşir. |
ForeColorChanged | Özellik değeri değiştiğinde ForeColor gerçekleşir. |
LocationChanged | Özellik değeri değiştiğinde Location gerçekleşir. |
SizeChanged | Özellik değeri değiştiğinde Size gerçekleşir. |
VisibleChanged | Özellik değeri değiştiğinde Visible gerçekleşir. |
Olayların tam listesi için Denetim Sınıfının Olaylar bölümüne bakın.
Diğer olaylar
Denetimler ayrıca denetimin durumuna veya denetimle diğer etkileşimlere göre olaylar oluşturur. Örneğin, denetimin HelpRequested odağı varsa ve kullanıcı F1 tuşuna basarsa olay tetiklenir. Bu olay, kullanıcı formdaki bağlama duyarlı Yardım düğmesine basıp denetimdeki yardım imlecine basarsa da tetiklenir.
Bir diğer örnek de bir denetimin değiştirilmesi, taşınması veya yeniden boyutlandırıldığında Paint olayın tetiklenmiş olmasıdır. Bu olay, geliştiriciye denetim üzerinde çizim yapma ve görünümünü değiştirme fırsatı sunar.
Olayların tam listesi için Denetim Sınıfının Olaylar bölümüne bakın.
Ayrıca bkz.
.NET Desktop feedback