Kullanıcı Girişini İşleme
Bu konuda, tarafından sağlanan ana klavye ve fare olayları System.Windows.Forms.Control açıklanmıştır. Bir olayı işleme sırasında denetim yazarları, olay için bir temsilci eklemek yerine korumalı OnOn yöntemini geçersiz kmalıdır. Olayları gözden geçirmek için bkz. Bir Bileşenden Olay Oluşturma.
Not
Bir olayla ilişkilendirilmiş veri yoksa, temel sınıfın bir örneği EventName yöntemine EventArgs bağımsız değişken OnEventArgs geçirilsin.
Klavye Olayları
Denetiminizin işleyilebilecek yaygın klavye olayları KeyDown , KeyPress ve 'tir. KeyUp
| Olay Adı | Geçersiz Kılma Yöntemi | Olay Açıklaması |
|---|---|---|
KeyDown |
void OnKeyDown(KeyEventArgs) |
Yalnızca başlangıçta bir tuşa basıldığında yükseltildi. |
KeyPress |
void OnKeyPress(KeyPressEventArgs) |
Bir tuşa her basıldığında yükseltildi. Bir anahtar tutulacaksa, KeyPress bir olay işletim sistemi tarafından tanımlanan yineleme oranında yükseltildi. |
KeyUp |
void OnKeyUp(KeyEventArgs) |
Bir anahtar serbest bırakıldıkları zaman yükseltildi. |
Not
Klavye girişini işleme, önceki tablodaki olayları geçersiz kılmaya göre çok daha karmaşıktır ve bu konu kapsamının dışındadır. Daha fazla bilgi için bkz. Windows Forms'ta Kullanıcı Girişi.
Fare Olayları
Denetiminizin işleyilebilecek fare olayları MouseDown , , , , ve MouseEnterMouseHoverMouseLeaveMouseMove 'tir. MouseUp
| Olay Adı | Geçersiz Kılma Yöntemi | Olay Açıklaması |
|---|---|---|
MouseDown |
void OnMouseDown(MouseEventArgs) |
İşaretçi denetimin üzerindeyken fare düğmesine basıldığında yükseltildi. |
MouseEnter |
void OnMouseEnter(EventArgs) |
İşaretçi denetimin bölgesini ilk kez girerken ortaya çıkar. |
MouseHover |
void OnMouseHover(EventArgs) |
İşaretçi denetimin üzerine geldiğinde ortaya çıkar. |
MouseLeave |
void OnMouseLeave(EventArgs) |
İşaretçi denetimin bölgesinden ayrıldığında ortaya çıkar. |
MouseMove |
void OnMouseMove(MouseEventArgs) |
İşaretçi denetimin bölgesinde hareket ettiğinde ortaya çıkar. |
MouseUp |
void OnMouseUp(MouseEventArgs) |
İşaretçi denetimin üzerindeyken veya işaretçi denetimin bölgesinden ayrıldığında fare düğmesi serbest bırakıldığında yükseltildi. |
Aşağıdaki kod parçası, olayı geçersiz kılma örneğini MouseDown gösterir.
protected override void OnMouseDown(MouseEventArgs e) {
base.OnMouseDown(e);
if (!allowUserEdit) {
return;
}
Capture = true;
dragging = true;
SetDragValue(new Point(e.X, e.Y));
}
Protected Overrides Sub OnMouseDown(ByVal e As MouseEventArgs)
MyBase.OnMouseDown(e)
If Not (myAllowUserEdit) Then
Return
End If
Capture = True
dragging = True
SetDragValue(New Point(e.X, e.Y))
End Sub
Aşağıdaki kod parçası, olayı geçersiz kılma örneğini MouseMove gösterir.
protected override void OnMouseMove(MouseEventArgs e) {
base.OnMouseMove(e);
if (!allowUserEdit || !dragging) {
return;
}
SetDragValue(new Point(e.X, e.Y));
}
Protected Overrides Sub OnMouseMove(ByVal e As MouseEventArgs)
MyBase.OnMouseMove(e)
If (Not myAllowUserEdit Or Not dragging) Then
Return
End If
SetDragValue(New Point(e.X, e.Y))
End Sub
Aşağıdaki kod parçası, olayı geçersiz kılma örneğini MouseUp gösterir.
protected override void OnMouseUp(MouseEventArgs e) {
base.OnMouseUp(e);
if (!allowUserEdit || !dragging) {
return;
}
Capture = false;
dragging = false;
value = dragValue;
OnValueChanged(EventArgs.Empty);
}
Protected Overrides Sub OnMouseUp(ByVal e As MouseEventArgs)
MyBase.OnMouseUp(e)
If (Not myAllowUserEdit Or Not dragging) Then
Return
End If
Capture = False
dragging = False
Value = dragValue
OnValueChanged(EventArgs.Empty)
End Sub
Örneğin tam kaynak kodu için FlashTrackBar bkz. FlashTrackBarGösteren Windows Forms Denetimi Oluşturma.