GiveFeedbackEventHandler GiveFeedbackEventHandler GiveFeedbackEventHandler GiveFeedbackEventHandler Delegate

Definizione

Rappresenta il metodo che gestisce l'evento GiveFeedback di un oggetto Control.Represents the method that handles the GiveFeedback event of a Control.

public delegate void GiveFeedbackEventHandler(System::Object ^ sender, GiveFeedbackEventArgs ^ e);
public delegate void GiveFeedbackEventHandler(object sender, GiveFeedbackEventArgs e);
type GiveFeedbackEventHandler = delegate of obj * GiveFeedbackEventArgs -> unit
Public Delegate Sub GiveFeedbackEventHandler(sender As Object, e As GiveFeedbackEventArgs)

Parametri

sender
Object Object Object Object

Origine dell'evento.The source of the event.

Ereditarietà
GiveFeedbackEventHandlerGiveFeedbackEventHandlerGiveFeedbackEventHandlerGiveFeedbackEventHandler

Esempi

Nell'esempio seguente viene illustrata un'operazione di trascinamento della ListBox selezione tra due controlli.The following example demonstrates a drag-and-drop operation between two ListBox controls. Nell'esempio viene chiamato DoDragDrop il metodo all'avvio dell'azione di trascinamento.The example calls the DoDragDrop method when the drag action starts. L'azione di trascinamento viene avviata se il SystemInformation.DragSize mouse è stato spostato più di MouseDown dalla posizione del mouse durante l'evento.The drag action starts if the mouse has moved more than SystemInformation.DragSize from the mouse location during the MouseDown event. Il IndexFromPoint metodo viene utilizzato per determinare l'indice dell'elemento da trascinare durante l' MouseDown evento.The IndexFromPoint method is used to determine the index of the item to drag during the MouseDown event.

Nell'esempio viene inoltre illustrato l'utilizzo di cursori personalizzati per l'operazione di trascinamento della selezione.The example also demonstrates using custom cursors for the drag-and-drop operation. Nell'esempio si presuppone che siano presenti due 3dwarro.cur file 3dwno.curdi cursore, e, nella directory dell'applicazione, rispettivamente per i cursori di trascinamento e di rilascio personalizzati.The example assumes that two cursor files, 3dwarro.cur and 3dwno.cur, exist in the application directory, for the custom drag and no-drop cursors, respectively. Se l'oggetto UseCustomCursorsCheck CheckBox è selezionato, verranno utilizzati i cursori personalizzati.The custom cursors will be used if the UseCustomCursorsCheckCheckBox is checked. I cursori personalizzati vengono impostati nel GiveFeedback gestore eventi.The custom cursors are set in the GiveFeedback event handler.

Lo stato della tastiera viene valutato nel DragOver gestore eventi a destra ListBox, per determinare l'operazione di trascinamento in base allo stato dei tasti MAIUSC, CTRL, ALT o CTRL + ALT.The keyboard state is evaluated in the DragOver event handler for the right ListBox, to determine what the drag operation will be based upon state of the SHIFT, CTRL, ALT, or CTRL+ALT keys. Anche la posizione nell' ListBox oggetto in cui si verificherà l'eliminazione viene determinata DragOver durante l'evento.The location in the ListBox where the drop would occur is also determined during the DragOver event. Se i dati da eliminare non Stringsono, l'oggetto DragEventArgs.Effect è impostato su DragDropEffects.None.If the data to drop is not a String, then the DragEventArgs.Effect is set to DragDropEffects.None. Infine, lo stato del trascinamento viene visualizzato in DropLocationLabel. LabelFinally, the status of the drop is displayed in the DropLocationLabelLabel.

I dati da eliminare per il diritto ListBox vengono determinati DragDrop nel gestore eventi e il String valore ListBoxviene aggiunto nella posizione appropriata in.The data to drop for the right ListBox is determined in the DragDrop event handler and the String value is added at the appropriate place in the ListBox. Se l'operazione di trascinamento viene spostata all'esterno dei limiti del form, l'operazione di trascinamento della selezione QueryContinueDrag viene annullata nel gestore eventi.If the drag operation moves outside the bounds of the form, then the drag-and-drop operation is canceled in the QueryContinueDrag event handler.

Questo estratto di codice illustra l' GiveFeedbackEventHandler uso del delegato GiveFeedback con l'evento.This code excerpt demonstrates using the GiveFeedbackEventHandler delegate with the GiveFeedback event. Vedere il DoDragDrop metodo per l'esempio di codice completo.See the DoDragDrop method for the complete code example.

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, 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 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

Commenti

Quando si crea un delegato GiveFeedbackEventHandler, si identifica il metodo che gestirà l'evento.When you create a GiveFeedbackEventHandler delegate, you identify the method that will handle the event. Per associare l'evento al gestore eventi in uso, aggiungere all'evento un'istanza del delegato.To associate the event with your event handler, add an instance of the delegate to the event. Il gestore eventi viene chiamato ogni volta che si verifica l'evento, a meno che non venga rimosso il delegato.The event handler is called whenever the event occurs, unless you remove the delegate. Per ulteriori informazioni sulla gestione degli eventi con i delegati, vedere gestione e generazione di eventi.For more information about handling events with delegates, see Handling and Raising Events.

Metodi di estensione

GetMethodInfo(Delegate) GetMethodInfo(Delegate) GetMethodInfo(Delegate) GetMethodInfo(Delegate)

Ottiene un oggetto che rappresenta il metodo rappresentato dal delegato specificato.Gets an object that represents the method represented by the specified delegate.

Si applica a

Vedi anche