GiveFeedbackEventArgs.UseDefaultCursors Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém ou define se a operação de arrastar deve usar os cursores padrão associados aos efeitos de arrastar-soltar.
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 da propriedade
true
se os ponteiros padrão forem usados; caso contrário, false
.
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 UseCustomCursorsCheck
CheckBox 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 ListBox
direita, 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 DropLocationLabel
Label.
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
Comentários
O sistema fornece cursores de arrastar-soltar padrão para diferentes operações de arrastar-soltar, como mover ou copiar. Se UseDefaultCursors estiver definido como false
, será responsabilidade da origem do evento definir o cursor apropriado.