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