Freigeben über


InkOverlaySelectionMovedEventHandler-Delegat

Stellt die Methode dar, die das SelectionMoved-Ereignis eines InkOverlay-Objekts behandelt.

Namespace:  Microsoft.Ink
Assembly:  Microsoft.Ink (in Microsoft.Ink.dll)

Syntax

'Declaration
Public Delegate Sub InkOverlaySelectionMovedEventHandler ( _
    sender As Object, _
    e As InkOverlaySelectionMovedEventArgs _
)
'Usage
Dim instance As New InkOverlaySelectionMovedEventHandler(AddressOf HandlerMethod)
public delegate void InkOverlaySelectionMovedEventHandler(
    Object sender,
    InkOverlaySelectionMovedEventArgs e
)
public delegate void InkOverlaySelectionMovedEventHandler(
    Object^ sender, 
    InkOverlaySelectionMovedEventArgs^ e
)
/** @delegate */
public delegate void InkOverlaySelectionMovedEventHandler(
    Object sender,
    InkOverlaySelectionMovedEventArgs e
)
JScript unterstützt keine Delegaten.

Parameter

Hinweise

Das SelectionMoved-Ereignis tritt ein, wenn sich die Position der aktuellen Auswahl, z. B. durch Änderungen an der Benutzeroberfläche, Ausschneiden und Einfügen oder die Selection-Eigenschaft, geändert hat.

Beim Erstellen eines InkOverlaySelectionMovedEventHandler-Delegaten bestimmen Sie die Methode für die Ereignisbehandlung. Um dem Ereignishandler das Ereignis zuzuordnen, fügen Sie dem Ereignis eine Instanz des Delegaten hinzu. Der Ereignishandler wird bei jedem Eintreten des Ereignisses aufgerufen, sofern der Delegat nicht entfernt wird. Aus Leistungsgründen ist das Standardinteresse an einem Ereignis im verwalteten Code deaktiviert, es wird jedoch automatisch aktiviert, wenn Sie einen Ereignishandler hinzufügen.

Um das neue umgebende Rechteck der verschobenen Strokes-Auflistung abzurufen, rufen Sie die Strokes.GetBoundingBox-Methode auf.

Beispiele

In diesem Beispiel überprüft ein SelectionMoved-Ereignishandler eine Auswahl, nachdem sie verschoben wurde. Wenn die ausgewählte Strokes-Auflistung verschoben wird, sodass Teile der Auswahl links oder oben außerhalb des Fensters liegen, wird die Auswahl zurück an ihre ursprüngliche Position verschoben.

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;
    }
}

Plattformen

Windows Vista

.NET Framework und .NET Compact Framework unterstützen nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Versionsinformationen

.NET Framework

Unterstützt in: 3.0

Siehe auch

Referenz

Microsoft.Ink-Namespace

InkOverlay.SelectionMoved

InkOverlay.SelectionMoving

Strokes