다음을 통해 공유


InkCollector.AutoRedraw 속성

업데이트: 2007년 11월

창을 무효화할 때 InkCollector 개체가 잉크를 다시 그리는지 여부를 지정하는 값을 가져오거나 설정합니다.

네임스페이스:  Microsoft.Ink
어셈블리:  Microsoft.Ink(Microsoft.Ink.dll)

구문

‘선언
Public Property AutoRedraw As Boolean
‘사용 방법
Dim instance As InkCollector
Dim value As Boolean

value = instance.AutoRedraw

instance.AutoRedraw = value
public bool AutoRedraw { get; set; }
public:
property bool AutoRedraw {
    bool get ();
    void set (bool value);
}
/** @property */
public boolean get_AutoRedraw()
/** @property */
public  void set_AutoRedraw(boolean value)
public function get AutoRedraw () : boolean
public function set AutoRedraw (value : boolean)

속성 값

형식: System.Boolean
창을 무효화할 때 InkCollector 개체가 잉크를 다시 그리면 true이고, 그렇지 않으면 false입니다.

설명

AutoRedraw의 값은 InkCollector 개체에 연결된 창이 Paint 알림을 받으면 현재 InkCollector 개체에 연결되어 있는 Ink 개체가 자동으로 다시 그려지는지 여부를 지정합니다. 예를 들어 AutoRedraw가 true로 설정되어 있는 경우 창을 최소화했다가 복원하면 잉크가 자동으로 다시 그려집니다. false로 설정되어 있는 경우에는 창을 최소화했다가 복원하면 잉크가 사라집니다.

AutoRedraw가 false인 경우 DynamicRendering 속성이 false가 아니면 그리는 중에 잉크가 표시됩니다.

응용 프로그램에서 사용자 지정 렌더링을 수행하는 중이거나 응용 프로그램에서 그리기 문제가 자주 발생하는 경우에는 직접 다시 그리기를 처리하고 InkPicture 컨트롤에 대해 AutoRedraw 속성을 false로 설정할 수 있습니다. 이러한 경우에는 기본 컨트롤의 OnPaint 이벤트 처리기에 대리자를 추가하여 잉크를 직접 그리거나, 기본 컨트롤의 Invalidate 이벤트를 처리하여 InvalidateEventArgs 개체를 수정합니다.

예제

이 예제에서는 AutoRedraw 속성을 false로 설정한 다음 잉크를 수동으로 그려 InkCollector 개체의 스트로크를 표시합니다. InkCollector가 연결된 컨트롤의 Paint 이벤트 처리기는 각 스트로크의 크기를 확인합니다. 스트로크가 400 잉크 공간 단위보다 작은 경우 스트로크가 파란색으로 표시됩니다.

Private Sub mInkObjectControl_Paint(ByVal sender As Object, ByVal e As PaintEventArgs)

    ' Check if AutoRedraw is off
    ' mInkObject can be InkCollector, InkOverlay, or InkPicture
    If Not mInkObject.AutoRedraw Then

        ' Draw each stroke manually
        For Each stroke As Stroke In mInkObject.Ink.Strokes
            ' See if this stroke is small
            Dim strokeBounds As Rectangle = stroke.GetBoundingBox()
            If strokeBounds.Width < 400 And strokeBounds.Height < 400 Then
                ' Change the drawing color to blue
                Dim newAttributes As DrawingAttributes = stroke.DrawingAttributes.Clone()
                newAttributes.Color = Color.Blue
                ' Draw with these special drawing attributes
                mInkObject.Renderer.Draw(e.Graphics, stroke, newAttributes)
            Else
                ' Draw stroke with its own drawing attributes
                mInkObject.Renderer.Draw(e.Graphics, stroke)
            End If
        Next
    End If

End Sub
private void mInkObjectControl_Paint(object sender, PaintEventArgs e)
{
    // Check if AutoRedraw is off
    // mInkObject can be InkCollector, InkOverlay, or InkPicture
    if (!mInkObject.AutoRedraw)
    {
        // Draw each stroke manually
        foreach (Stroke stroke in mInkObject.Ink.Strokes)
        {
            // See if this stroke is small
            Rectangle strokeBounds = stroke.GetBoundingBox();
            if (strokeBounds.Width < 400 && strokeBounds.Height < 400)
            {
                // Change the drawing color to blue
                DrawingAttributes newAttributes = stroke.DrawingAttributes.Clone();
                newAttributes.Color = Color.Blue;

                // Draw with these special drawing attributes
                mInkObject.Renderer.Draw(e.Graphics, stroke, newAttributes);
            }
            else
            {
                // Draw stroke with its own drawing attributes
                mInkObject.Renderer.Draw(e.Graphics, stroke);
            }
        }
    }

}

플랫폼

Windows Vista

.NET Framework 및 .NET Compact Framework에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 .NET Framework 시스템 요구 사항을 참조하십시오.

버전 정보

.NET Framework

3.0에서 지원

참고 항목

참조

InkCollector 클래스

InkCollector 멤버

Microsoft.Ink 네임스페이스

InkCollector.DynamicRendering

Ink

Renderer.Draw