GiveFeedbackEventArgs.Effect Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Görüntülenen sürükle ve bırak işlemi geri bildirimini alır.
public:
property System::Windows::Forms::DragDropEffects Effect { System::Windows::Forms::DragDropEffects get(); };
public System.Windows.Forms.DragDropEffects Effect { get; }
member this.Effect : System.Windows.Forms.DragDropEffects
Public ReadOnly Property Effect As DragDropEffects
Özellik Değeri
DragDropEffects değerlerinden biri.
Örnekler
Aşağıdaki örnekte, iki ListBox denetimi arasındaki sürükle ve bırak işlemi gösterilmektedir. Örnek, sürükleme eylemi başladığında DoDragDrop yöntemini çağırır. Sürükleme eylemi, MouseDown olayı sırasında farenin fare konumundan SystemInformation.DragSize fazla hareket ettiyse başlar.
IndexFromPoint yöntemi, MouseDown
olayı sırasında sürüklenecek öğenin dizinini belirlemek için kullanılır.
Örnekte, sürükle ve bırak işlemi için özel imleçlerin kullanılması da gösterilmektedir. Örnek, özel sürükleme ve bırakmama imleçleri için uygulama dizininde sırasıyla 3dwarro.cur
ve 3dwno.cur
iki imleç dosyasının bulunduğunu varsayar.
UseCustomCursorsCheck
CheckBox işaretliyse özel imleçler kullanılır. Özel imleçler GiveFeedback olay işleyicisinde ayarlanır.
Klavye durumu, shift, CTRL, ALT veya CTRL+ALT tuşlarının durumuna bağlı olarak sürükleme işleminin ne olacağını belirlemek üzere doğru ListBox
için DragOver olay işleyicisinde değerlendirilir.
ListBox
bırakmanın gerçekleşeceği konum da DragOver
olayı sırasında belirlenir. Bırakacak veriler bir String
değilse, DragEventArgs.EffectDragDropEffects.Noneolarak ayarlanır. Son olarak, bırakmanın durumu DropLocationLabel
Labelgörüntülenir.
Doğru ListBox
bırakacak veriler DragDrop olay işleyicisinde belirlenir ve String
değeri ListBox
uygun yere eklenir. Sürükleme işlemi formun sınırlarının dışına taşınırsa, QueryContinueDrag olay işleyicisinde sürükle ve bırak işlemi iptal edilir.
Bu kod alıntısı, GiveFeedbackEventArgs sınıfını kullanmayı gösterir. Kod örneğinin tamamı için DoDragDrop yöntemine bakın.
void ListDragSource_GiveFeedback( Object^ /*sender*/, System::Windows::Forms::GiveFeedbackEventArgs^ e )
{
// Use custom cursors if the check box is checked.
if ( UseCustomCursorsCheck->Checked )
{
// Sets the custom cursor based upon the effect.
e->UseDefaultCursors = false;
if ( (e->Effect & DragDropEffects::Move) == DragDropEffects::Move )
::Cursor::Current = MyNormalCursor;
else
::Cursor::Current = MyNoDropCursor;
}
}
private void ListDragSource_GiveFeedback(object sender, GiveFeedbackEventArgs e)
{
// Use custom cursors if the check box is checked.
if (UseCustomCursorsCheck.Checked)
{
// Sets the custom cursor based upon the effect.
e.UseDefaultCursors = false;
if ((e.Effect & DragDropEffects.Move) == DragDropEffects.Move)
Cursor.Current = MyNormalCursor;
else
Cursor.Current = MyNoDropCursor;
}
}
Private Sub ListDragSource_GiveFeedback(ByVal sender As Object, ByVal e As GiveFeedbackEventArgs) Handles ListDragSource.GiveFeedback
' Use custom cursors if the check box is checked.
If (UseCustomCursorsCheck.Checked) Then
' Set the custom cursor based upon the effect.
e.UseDefaultCursors = False
If ((e.Effect And DragDropEffects.Move) = DragDropEffects.Move) Then
Cursor.Current = MyNormalCursor
Else
Cursor.Current = MyNoDropCursor
End If
End If
End Sub