Aracılığıyla paylaş


Kullanıcı Girişini İşleme

Bu konu, tarafından sağlanan ana klavye ve fare olaylarını System.Windows.Forms.Controlaçıklar. Bir olayı işlerken, denetim yazarlarının etkinliğe temsilci eklemek yerine korumalı OnEventName yöntemini geçersiz kılması gerekir. Olayların gözden geçirilmesi için bkz . Bir Bileşenden Olay Oluşturma.

Dekont

Bir olayla ilişkili veri yoksa, temel sınıfın EventArgs bir örneği EventName yöntemine Onbağımsız değişken olarak geçirilir.

Klavye Olayları

Denetiminizin işleyebileceği yaygın klavye olayları şunlardır: KeyDown, KeyPressve KeyUp.

Olay Adı Geçersiz Kılma Yöntemi Olay Açıklaması
KeyDown void OnKeyDown(KeyEventArgs) Yalnızca bir tuşa ilk basıldığında oluşturulur.
KeyPress void OnKeyPress

(KeyPressEventArgs)
Bir tuşa her basıldığında yükseltilir. Bir anahtar tutulursa, işletim sistemi tarafından tanımlanan yineleme hızında bir KeyPress olay oluşturulur.
KeyUp void OnKeyUp(KeyEventArgs) Bir anahtar serbest bırakıldığında yükseltilir.

Dekont

Klavye girişinin işlenmesi, önceki tablodaki olayları geçersiz kılmaya kıyasla çok daha karmaşıktır ve bu konunun kapsamının dışındadır. Daha fazla bilgi için bkz . Windows Forms'da Kullanıcı Girişi.

Fare Olayları

Denetiminizin işleyebileceği fare olayları : MouseDown, MouseEnter, MouseHover, MouseLeave, MouseMoveve 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ükseltilir.
MouseEnter void OnMouseEnter(EventArgs) İşaretçi denetimin bölgesine ilk kez girdiğinde yükseltilir.
MouseHover void OnMouseHover(EventArgs) İşaretçi denetimin üzerine geldiğinde yükseltildi.
MouseLeave void OnMouseLeave(EventArgs) İşaretçi denetimin bölgesinden ayrıldığında yükseltildi.
MouseMove void OnMouseMove(MouseEventArgs) İşaretçi denetimin bölgesinde hareket ettiğinde yükseltildi.
MouseUp void OnMouseUp(MouseEventArgs) İşaretçi denetimin üzerindeyken fare düğmesi serbest bırakıldığında veya işaretçi denetimin bölgesinden ayrıldığında yükseltilir.

Aşağıdaki kod parçası, olayın geçersiz kılınma ö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ın geçersiz kılınma ö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ın geçersiz kılınma ö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 . Nasıl yapılır: İlerleme Durumunu Gösteren Bir Windows Forms Denetimi Oluşturma.

Ayrıca bkz.