GiveFeedbackEventArgs.Effect Propriété

Définition

Obtient les commentaires de l’opération glisser-déplacer qui s’affichent.

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

Valeur de propriété

Une des DragDropEffects valeurs.

Exemples

L’exemple suivant illustre une opération de glisser-déplacer entre deux ListBox contrôles. L’exemple appelle la DoDragDrop méthode au démarrage de l’action glisser. L’action glisser démarre si la souris a été déplacée plus que SystemInformation.DragSize de l’emplacement de la souris pendant l’événement MouseDown . La IndexFromPoint méthode est utilisée pour déterminer l’index de l’élément à faire glisser pendant l’événement MouseDown .

L’exemple montre également l’utilisation de curseurs personnalisés pour l’opération de glisser-déplacer. L’exemple suppose que deux fichiers de curseur et3dwarro.cur, 3dwno.cur respectivement, existent dans le répertoire de l’application, pour les curseurs de glisser-déplacer personnalisés. Les curseurs personnalisés seront utilisés si l’option UseCustomCursorsCheckCheckBox est cochée. Les curseurs personnalisés sont définis dans le gestionnaire d’événements GiveFeedback .

L’état du clavier est évalué dans le DragOver gestionnaire d’événements de droite ListBoxpour déterminer ce que l’opération de glisser sera basée sur l’état des touches Maj, Ctrl, Alt ou Ctrl+Alt. L’emplacement dans lequel ListBox la suppression se produit est également déterminé pendant l’événement DragOver . Si les données à supprimer ne sont pas un String, la valeur DragEventArgs.Effect est définie DragDropEffects.Nonesur . Enfin, l’état de la suppression s’affiche dans le DropLocationLabelLabel.

Les données à supprimer pour la droite ListBox sont déterminées dans le DragDrop gestionnaire d’événements et la String valeur est ajoutée à l’emplacement approprié dans le ListBox. Si l’opération de glissement se déplace en dehors des limites du formulaire, l’opération de glisser-déplacer est annulée dans le QueryContinueDrag gestionnaire d’événements.

Cet extrait de code illustre l’utilisation de la GiveFeedbackEventArgs classe. Consultez la DoDragDrop méthode de l’exemple de code complet.

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

S’applique à