GiveFeedbackEventArgs.UseDefaultCursors Propriedade

Definição

Obtém ou define se a operação de arrastar deve usar os cursores padrão associados aos efeitos de arrastar e largar.

public:
 property bool UseDefaultCursors { bool get(); void set(bool value); };
public bool UseDefaultCursors { get; set; }
member this.UseDefaultCursors : bool with get, set
Public Property UseDefaultCursors As Boolean

Valor de Propriedade

true se forem usados os ponteiros padrão; caso contrário, false.

Exemplos

O exemplo seguinte demonstra uma operação de arrastar e largar entre dois ListBox controlos. O exemplo chama o DoDragDrop método quando a ação de arrasto começa. A ação de arrastar começa se o rato se tiver movido mais do que SystemInformation.DragSize a partir da posição do rato durante o MouseDown evento. O IndexFromPoint método é usado para determinar o índice do item a arrastar durante o MouseDown evento.

O exemplo também demonstra o uso de cursores personalizados para a operação de arrastar e largar. O exemplo assume que existem dois ficheiros de cursor, 3dwarro.cur e 3dwno.cur, no diretório da aplicação, para os cursores personalizados de arrastar e sem largar, respetivamente. Os cursores personalizados serão usados se estiver UseCustomCursorsCheckCheckBox marcado. Os cursores personalizados estão definidos no GiveFeedback gestor de eventos.

O estado do teclado é avaliado no DragOver gestor de eventos para a direita ListBox, para determinar qual será a operação de arrasto com base no estado das teclas SHIFT, CTRL, ALT ou CTRL+ALT. A localização ListBox onde a queda ocorreria também é determinada durante o DragOver evento. Se os dados a eliminar não forem um String, então o DragEventArgs.Effect é definido como DragDropEffects.None. Finalmente, o estado da queda é apresentado no DropLocationLabelLabelarquivo .

Os dados a deixar cair para a direita ListBox são determinados no DragDrop handler de eventos e o String valor é adicionado no local apropriado no ListBox. Se a operação de arrastar sair dos limites do formulário, então a operação de arrastar e largar é cancelada no QueryContinueDrag tratador de eventos.

Este excerto de código demonstra o uso da GiveFeedbackEventArgs classe. Veja o DoDragDrop método para o exemplo completo do código.

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

Observações

O sistema fornece cursores de arrastar e largar por defeito para diferentes operações de arrastar e largar, como mover ou copiar. Se UseDefaultCursors for definido para false, é responsabilidade da fonte do evento definir o cursor apropriado.

Aplica-se a