次の方法で共有


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