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ı On
EventName 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 On
bağı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.
.NET Desktop feedback
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin