InkPicture.SelectionMoved Event
Occurs when the position of the current selection has changed, such as through alterations to the user interface, cut-and-paste procedures, or the Selection property.
Namespace: Microsoft.Ink
Assembly: Microsoft.Ink (in microsoft.ink.dll)
Syntax
'Declaration
Public Event SelectionMoved As InkOverlaySelectionMovedEventHandler
'Usage
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)
In JScript, you can handle the events defined by a class, but you cannot define your own.
Not applicable.
Remarks
The event handler receives an argument of type InkOverlaySelectionMovedEventArgs that contains data about this event.
When you create an InkOverlaySelectionMovedEventHandler delegate, you identify the method that handles the event. To associate the event with your event handler, add an instance of the delegate to the event. The event handler is called whenever the event occurs, unless you remove the delegate. For performance reasons, the default event interest is off but is turned on automatically if you add an event handler.
To get the old bounding rectangle of the Strokes collection that has been moved, use the OldSelectionBoundingRect property of the InkOverlaySelectionMovedEventArgs object. To get the new bounding rectangle, call the GetBoundingBox method for the Strokes collection in the InkPicture control's Selection property.
Example
This C# example is a SelectionMoved event handler that affects a selection after it has been moved. If the selected Strokes collection is moved so that any of the selection is off the left or top side of the window, then the event handler moves the selection back to its original position.
[C#]
using Microsoft.Ink;
//...
theInkPicture.SelectionMoved += new InkOverlaySelectionMovedEventHandler(theInkPicture_SelectionMoved);
//...
private void theInkPicture_SelectionMoved(object sender, InkOverlaySelectionMovedEventArgs e)
{
Rectangle newBounds = theInkPicture.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
theInkPicture.Selection.Move(e.OldSelectionBoundingRect.Left - newBounds.Left,
e.OldSelectionBoundingRect.Top - newBounds.Top);
// Trick to insure that selection handles are updated
theInkPicture.Selection = theInkPicture.Selection;
}
}
//...
This Microsoft® Visual Basic® .NET example is a SelectionMoved event handler that affects a selection after it has been moved. If the selected Strokes collection is moved so that any of the selection is off the left or top side of the window, then the event handler moves the selection back to its original position.
[Visual Basic]
Imports Microsoft.Ink
'...
Private WithEvents theInkPicture As InkPicture
'...
Private Sub theInkPicture_SelectionMoved(ByVal sender As Object, _
ByVal e As Microsoft.Ink.InkOverlaySelectionMovedEventArgs) Handles theInkPicture.SelectionMoved
Dim newBounds As Rectangle = theInkPicture.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
theInkPicture.Selection.Move(e.OldSelectionBoundingRect.Left - newBounds.Left, _
e.OldSelectionBoundingRect.Top - newBounds.Top)
'Trick to insure that selection handles are updated
theInkPicture.Selection = theInkPicture.Selection
End If
End Sub
'...
Platforms
Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.
Version Information
.NET Framework
Supported in: 3.0
See Also
Reference
InkPicture Class
InkPicture Members
Microsoft.Ink Namespace
InkOverlaySelectionMovedEventArgs
InkPicture.Selection
InkPicture.SelectionMoving