Exportar (0) Imprimir
Expandir todo

ToolStripItem.DragEnter (Evento)

Se produce cuando el usuario arrastra un elemento al área cliente de este elemento.

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

public event DragEventHandler DragEnter
/** @event */
public void add_DragEnter (DragEventHandler value)

/** @event */
public void remove_DragEnter (DragEventHandler value)

En JScript, se pueden controlar los eventos que define una clase, pero no se pueden definir unos propios.
No aplicable.

El evento DragEnter se produce la primera vez que el usuario arrastra el cursor del mouse sobre el elemento 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.

NotaNota:

Las propiedades X y Y de DragEventArgs son coordenadas de pantalla, no son coordenadas de cliente

Para obtener más información sobre la forma de controlar eventos, vea Utilizar eventos.

En el ejemplo de código siguiente se muestra cómo convertir las propiedades X y Y en un Point cliente. Este ejemplo de código forma parte de un ejemplo más extenso referente a la clase ToolStripRenderer.

// This method defines the DragOver event behavior. 
protected override void OnDragOver(DragEventArgs dea)
{
    base.OnDragOver(dea);

    // Get the ToolStripButton control 
    // at the given mouse position.
    Point p = new Point(dea.X, dea.Y);
    ToolStripButton item = this.GetItemAt(
        this.PointToClient(p)) as ToolStripButton;

    // If the ToolStripButton control is the empty cell,
    // indicate that the move operation is valid.
    if( item == this.emptyCellButton )
    {
        // Set the drag operation to indicate a valid move.
        dea.Effect = DragDropEffects.Move;
    }
}

Windows 98, Windows 2000 Service Pack 4, Windows CE, Windows Millennium, Windows Mobile para Pocket PC, Windows Mobile para Smartphone, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter

Microsoft .NET Framework 3.0 es compatible con Windows Vista, Microsoft Windows XP SP2 y Windows Server 2003 SP1.

.NET Framework

Compatible con: 3.0, 2.0
Mostrar:
© 2015 Microsoft