Share via


InkPicture.SelectionMoved (Evento)

Actualización: noviembre 2007

Se produce cuando ha cambiado la posición de la selección actual, por ejemplo por alteraciones de la interfaz de usuario, procedimientos de cortar y pegar o la propiedad Selection.

Espacio de nombres:  Microsoft.Ink
Ensamblado:  Microsoft.Ink (en Microsoft.Ink.dll)

Sintaxis

'Declaración
Public Event SelectionMoved As InkOverlaySelectionMovedEventHandler
'Uso
Dim instance As InkPicture
Dim handler As InkOverlaySelectionMovedEventHandler

AddHandler instance.SelectionMoved, handler
public event InkOverlaySelectionMovedEventHandler SelectionMoved
public:
 event InkOverlaySelectionMovedEventHandler^ SelectionMoved {
    void add (InkOverlaySelectionMovedEventHandler^ value);
    void remove (InkOverlaySelectionMovedEventHandler^ value);
}
/** @event */
public void add_SelectionMoved (InkOverlaySelectionMovedEventHandler value)
/** @event */
public void remove_SelectionMoved (InkOverlaySelectionMovedEventHandler value)
JScript no admite eventos.

Comentarios

El controlador de eventos recibe un argumento de tipo InkOverlaySelectionMovedEventArgs que contiene datos sobre este evento.

Cuando se crea un delegado de InkOverlaySelectionMovedEventHandler, se identifica el método que controla el evento. Para asociarlo al controlador de eventos, se debe agregar al evento una instancia del delegado. Siempre que se produce el evento, se llama a su controlador, a menos que se quite el delegado. Para mejorar el rendimiento, el interés del evento predeterminado está desactivado, pero se activa automáticamente si se agrega un controlador de eventos.

Para obtener el anterior rectángulo delimitador de la colección Strokes que se ha movido, use la propiedad OldSelectionBoundingRect del objeto InkOverlaySelectionMovedEventArgs. Para obtener el nuevo rectángulo delimitador, llame al método GetBoundingBox de la colección Strokes en la propiedad Selection del control InkPicture.

Ejemplos

En este ejemplo, un controlador de eventos SelectionMoved examina una selección una vez movida. Si la colección Strokes seleccionada se mueve de forma que alguna parte de la selección queda fuera de la sección izquierda o superior de la ventana, la selección se desplaza de nuevo a su posición original.

Private Sub mInkObject_SelectionMoved(ByVal sender As Object, ByVal e As InkOverlaySelectionMovedEventArgs)
    ' mInkObject can be InkOverlay or InkPicture
    Dim newBounds As Rectangle = mInkObject.Selection.GetBoundingBox()
    ' Check if we have gone off the left or top sides of the window.
    If (newBounds.Left < 0 Or newBounds.Top < 0) Then
        ' Move to back to original spot
        mInkObject.Selection.Move(e.OldSelectionBoundingRect.Left - newBounds.Left, _
            e.OldSelectionBoundingRect.Top - newBounds.Top)
        ' Trick to insure that selection handles are updated
        mInkObject.Selection = mInkObject.Selection
    End If
End Sub
private void mInkObject_SelectionMoved(object sender, InkOverlaySelectionMovedEventArgs e)
{
    // mInkObject can be InkOverlay or InkPicture
    Rectangle newBounds = mInkObject.Selection.GetBoundingBox();

    // Check if we have gone off the left or top sides of the window.
    if (newBounds.Left < 0 || newBounds.Top < 0)
    {
        // Move to back to original spot
        mInkObject.Selection.Move(e.OldSelectionBoundingRect.Left - newBounds.Left,
            e.OldSelectionBoundingRect.Top - newBounds.Top);

        // Trick to insure that selection handles are updated
        mInkObject.Selection = mInkObject.Selection;
    }
}

Plataformas

Windows Vista

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

Información de versión

.NET Framework

Compatible con: 3.0

Vea también

Referencia

InkPicture (Clase)

InkPicture (Miembros)

Microsoft.Ink (Espacio de nombres)

InkOverlaySelectionMovedEventArgs

InkPicture.Selection

InkPicture.SelectionMoving