InkPicture.SelectionMoved 事件

在当前所选内容的位置更改(例如通过修改用户界面、剪切粘贴过程或 Selection 属性进行更改)后发生。

命名空间:  Microsoft.Ink
程序集:  Microsoft.Ink(在 Microsoft.Ink.dll 中)

语法

声明
Public Event SelectionMoved As InkOverlaySelectionMovedEventHandler
用法
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 不支持事件。

备注

事件处理程序接收 InkOverlaySelectionMovedEventArgs 类型的参数,该参数包含有关此事件的数据。

创建 InkOverlaySelectionMovedEventHandler 委托时,需要标识将处理该事件的方法。若要将该事件与事件处理程序关联,请将该委托的一个实例添加到事件中。除非移除了该委托,否则每当发生该事件时就会调用此事件处理程序。出于性能方面的原因,默认事件关注处于关闭状态,但如果添加事件处理程序,它将自动打开。

若要获取已移动的 Strokes 集合的旧边框,请使用 InkOverlaySelectionMovedEventArgs 对象的 OldSelectionBoundingRect 属性。若要获取新边框,请对 InkPicture 控件的 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

另请参见

参考

InkPicture 类

InkPicture 成员

Microsoft.Ink 命名空间

InkOverlaySelectionMovedEventArgs

InkPicture.Selection

InkPicture.SelectionMoving