Compartilhar via


GiveFeedbackEventArgs.Effect Propriedade

Definição

Obtém os comentários da operação de arrastar e soltar exibidos.

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

Valor da propriedade

Um dos valores DragDropEffects.

Exemplos

O exemplo a seguir demonstra uma operação de arrastar e soltar entre dois controles ListBox. O exemplo chama o método DoDragDrop quando a ação de arrastar é iniciada. A ação de arrastar será iniciada se o mouse tiver se movido mais de SystemInformation.DragSize do local do mouse durante o evento MouseDown. O método IndexFromPoint é usado para determinar o índice do item a ser arrastado durante o evento MouseDown.

O exemplo também demonstra o uso de cursores personalizados para a operação de arrastar e soltar. O exemplo pressupõe que dois arquivos de cursor, 3dwarro.cur e 3dwno.cur, existam no diretório do aplicativo, para os cursores de arrastar e sem soltar personalizados, respectivamente. Os cursores personalizados serão usados se o UseCustomCursorsCheckCheckBox for verificado. Os cursores personalizados são definidos no manipulador de eventos GiveFeedback.

O estado do teclado é avaliado no manipulador de eventos DragOver para a ListBoxdireita, para determinar qual operação de arrastar será baseada no estado das teclas SHIFT, CTRL, ALT ou CTRL+ALT. O local no ListBox em que a queda ocorreria também é determinado durante o evento DragOver. Se os dados a serem removidos não forem um String, o DragEventArgs.Effect será definido como DragDropEffects.None. Por fim, o status da queda é exibido no DropLocationLabelLabel.

Os dados a serem removidos para o ListBox direito são determinados no manipulador de eventos DragDrop e o valor String é adicionado no local apropriado no ListBox. Se a operação de arrastar se mover para fora dos limites do formulário, a operação de arrastar e soltar será cancelada no manipulador de eventos QueryContinueDrag.

Este trecho de código demonstra o uso da classe GiveFeedbackEventArgs. Consulte o método DoDragDrop para o exemplo de código completo.

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

Aplica-se a