GiveFeedbackEventArgs.Effect Egenskap
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Hämtar feedback om dra och släpp-åtgärden som visas.
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
Egenskapsvärde
Ett av DragDropEffects värdena.
Exempel
I följande exempel visas en dra och släpp-åtgärd mellan två ListBox kontroller. Exemplet anropar DoDragDrop metoden när dragåtgärden startar. Dragåtgärden startar om musen har flyttats mer än SystemInformation.DragSize från musplatsen under MouseDown händelsen. Metoden IndexFromPoint används för att fastställa indexet för objektet som ska dras under MouseDown händelsen.
Exemplet visar också hur du använder anpassade markörer för dra och släpp-åtgärden. Exemplet förutsätter att det finns två markörfiler 3dwarro.cur , och 3dwno.cur, i programkatalogen, för de anpassade dra- respektive no-drop-markörer. De anpassade markören används om den UseCustomCursorsCheckCheckBox är markerad. De anpassade markörer anges i GiveFeedback händelsehanteraren.
Tangentbordstillståndet DragOver utvärderas i händelsehanteraren för höger ListBox, för att avgöra vilken dragåtgärd som ska baseras på tillståndet för tangenterna SKIFT, CTRL, ALT eller CTRL+ALT. Platsen där ListBox droppen skulle inträffa bestäms också under DragOver händelsen. Om de data som ska tas bort inte är en String, är den inställd på DragEventArgs.EffectDragDropEffects.None. Slutligen visas status för släppet i DropLocationLabelLabel.
De data som ska tas bort för höger ListBox bestäms i DragDrop händelsehanteraren och String värdet läggs till på rätt plats i ListBox. Om dragåtgärden flyttas utanför formulärets gränser avbryts dra och släpp-åtgärden i QueryContinueDrag händelsehanteraren.
Det här kodutdraget visar hur du GiveFeedbackEventArgs använder klassen. DoDragDrop Se metoden för det fullständiga kodexemplet.
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