Esta documentación está archivada y no tiene mantenimiento.

ToolStripItem.GiveFeedback (Evento)

Actualización: noviembre 2007

Se produce durante una operación de arrastre.

Espacio de nombres:  System.Windows.Forms
Ensamblado:  System.Windows.Forms (en System.Windows.Forms.dll)

[BrowsableAttribute(false)]
public event GiveFeedbackEventHandler GiveFeedback
/** @event */
/** @attribute BrowsableAttribute(false) */
public void add_GiveFeedback (GiveFeedbackEventHandler value)
/** @event */
/** @attribute BrowsableAttribute(false) */
public void remove_GiveFeedback (GiveFeedbackEventHandler value)

JScript no admite eventos.

El evento GiveFeedback se provoca cuando se inicia una operación de arrastrar y colocar. El evento GiveFeedback permite que el origen de un evento de arrastre modifique la apariencia del puntero del mouse con el fin de proporcionar información visual al usuario durante una operación de arrastrar y colocar.

A continuación se describe cómo y cuándo se producen eventos relacionados con las operaciones de arrastrar y colocar.

El método DoDragDrop determina el elemento situado en la posición actual del cursor. A continuación, comprueba si el elemento es un destino válido de colocación.

Si el elemento es un destino válido de colocación, se provoca el evento GiveFeedback con el efecto de arrastrar y colocar especificado. Para obtener una lista de efectos de arrastrar y colocar, vea la enumeración DragDropEffects.

Se realiza un seguimiento de los cambios en la posición del cursor del mouse, el estado del teclado y el estado de los botones del mouse del siguiente modo:

  • Si el usuario desplaza el mouse fuera de una ventana, se provoca el evento DragLeave.

  • Si el mouse entra en otro elemento, se provoca el evento DragEnter para ese control.

  • Si el mouse se mueve permaneciendo dentro del mismo elemento, se provoca el evento DragOver.

Si hay un cambio en el estado del teclado o de los botones del mouse, se produce el evento QueryContinueDrag y se determina si continúa la operación de arrastrar o colocar datos, o si se cancela la operación en función del valor de la propiedad Action de QueryContinueDragEventArgs del evento.

Si el valor de DragAction es Continue, se produce el evento DragOver para continuar con la operación y, con el nuevo efecto, se produce el evento GiveFeedback de forma que se pueda establecer la información visual apropiada. Para obtener una lista de efectos de colocar válidos, vea la enumeración DragDropEffects.

Los eventos DragOver y GiveFeedback están emparejados, de forma que cuando el mouse se desplace por el destino de colocación, el usuario reciba la información más actualizada sobre la posición del mouse, del siguiente modo:

  • Si el valor de DragAction es Drop, el valor del efecto de colocar se devuelve al origen para que la aplicación de origen pueda realizar la operación apropiada en los datos de origen; por ejemplo, cortar los datos si la operación es un movimiento.

  • Si el valor de DragAction es Cancel, se produce el evento DragLeave.

En el ejemplo de código siguiente se muestra el uso de este miembro. En el ejemplo, un controlador de eventos notifica que se ha producido el evento GiveFeedback. Este informe es útil para saber cuándo se produce el evento y puede servir de ayuda en la depuración. Para informar sobre varios eventos o sobre eventos que se producen frecuentemente, considere la posibilidad de reemplazar MessageBox.Show por Console.WriteLine o de agregar el mensaje a un TextBox de varias líneas.

Para ejecutar el código de ejemplo, péguelo en un proyecto que contenga una instancia de un tipo que herede de ToolStripItem, como ToolStripButton o ToolStripMenuItem. A continuación, asigne a la instancia el nombre ToolStripItem1 y asegúrese de que el controlador de eventos esté asociado al evento GiveFeedback.

private void ToolStripItem1_GiveFeedback(Object sender, GiveFeedbackEventArgs e) {

System.Text.StringBuilder messageBoxCS = new System.Text.StringBuilder();
messageBoxCS.AppendFormat("{0} = {1}", "Effect", e.Effect );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "UseDefaultCursors", e.UseDefaultCursors );
messageBoxCS.AppendLine();
MessageBox.Show(messageBoxCS.ToString(), "GiveFeedback Event" );
}


Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

.NET Framework

Compatible con: 3.5, 3.0, 2.0
Mostrar: