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.

Ayrıca bkz.