다음을 통해 공유


InkPicture.SelectionMoved 이벤트

업데이트: 2007년 11월

사용자 인터페이스를 변경하거나 잘라내어 붙여넣기 절차를 수행하거나 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