共用方式為


InkOverlay.SelectionMoved 事件

會在目前選取項目的位置已經透過如更改使用者介面、剪貼程序或 Selection 屬性等方式變更時發生。

命名空間:  Microsoft.Ink
組件:  Microsoft.Ink (在 Microsoft.Ink.dll 中)

語法

'宣告
Public Event SelectionMoved As InkOverlaySelectionMovedEventHandler
'用途
Dim instance As InkOverlay
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 不支援事件。

備註

事件處理常式會收到 InkOverlaySelectionMovedEventArgs 型別的引數,其中包含這個事件的相關資料。

在建立 InkOverlaySelectionMovedEventHandler 委派時,您要識別處理事件的方法。若要使事件與您的事件處理常式產生關聯,請將委派的執行個體加入至事件。除非您移除委派,否則每當事件發生時就會呼叫事件處理常式。基於效能考量,相關事件的預設是關閉的,但會在您加入事件處理常式時自動開啟。

若要取得已移動之 Strokes 集合的舊週框 (Bounding Rectangle),請使用 InkOverlaySelectionMovedEventArgs 物件的 OldSelectionBoundingRect。若要取得新週框,請在 InkOverlay 物件的 Selection 屬性中呼叫 Strokes 集合的 GetBoundingBox 方法。

範例

在這個範例中,SelectionMoved 事件處理常式會在選取範圍移動之後檢查它。如果選取的 Strokes 集合已移動,使選取範圍的任何部分離開視窗左方或上方,則選取範圍會移回其原始位置。

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

平台

Windows Vista

.NET Framework 和 .NET Compact Framework 並不支援各種平台的所有版本。如需支援平台版本的相關資訊,請參閱 .NET Framework 系統需求

版本資訊

.NET Framework

支援版本:3.0

請參閱

參考

InkOverlay 類別

InkOverlay 成員

Microsoft.Ink 命名空間

InkOverlay.Selection

InkOverlaySelectionMovedEventArgs

InkOverlay.SelectionMoving