Freigeben über


InkOverlay.AutoRedraw-Eigenschaft

Ruft einen Wert ab oder legt einen Wert fest, der angibt, ob das InkOverlay-Objekt die Freihandeingabe neu zeichnet, wenn das Fenster ungültig wird.

Namespace:  Microsoft.Ink
Assembly:  Microsoft.Ink (in Microsoft.Ink.dll)

Syntax

'Declaration
<BrowsableAttribute(True)> _
Public Property AutoRedraw As Boolean
'Usage
Dim instance As InkOverlay
Dim value As Boolean

value = instance.AutoRedraw

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

Eigenschaftenwert

Typ: System.Boolean
Der Wert, der angibt, ob das InkOverlay-Objekt die Freihandeingabe neu zeichnet, wenn das Fenster ungültig wird.
true , wenn das InkOverlay-Objekt die Freihandeingabe neu zeichnet, sobald das Fenster ungültig wird; andernfalls false.

Hinweise

Der Wert für AutoRedraw gibt an, ob das derzeit dem InkOverlay-Objekt zugeordnete Ink-Objekt automatisch neu gezeichnet wird, wenn das dem InkOverlay-Objekt zugeordnete Fenster eine Paint-Benachrichtigung empfängt. Auf true festgelegt, wird die Freihandeingabe z. B. automatisch neu gezeichnet, wenn Sie das Fenster minimieren und anschließend wiederherstellen. Auf false festgelegt, verschwindet die Freihandeingabe aus der Ansicht, wenn Sie das Fenster minimieren und anschließend wiederherstellen.

Wenn AutoRedraw auf den Wert false festgelegt ist, wird das Freihandelement bei der Eingabe angezeigt, es sei denn, die DynamicRendering-Eigenschaft ist auf false festgelegt.

Wenn Ihre Anwendung ein benutzerdefiniertes Rendering durchführt oder wenn Ihre Anwendung gegenüber Zeichenproblemen empfindlich reagiert, können Sie das Neuzeichnen selbst behandeln und die AutoRedraw-Eigenschaft für das InkOverlay-Objekt auf false festlegen. Fügen Sie in diesem Fall dem OnPainted-Ereignishandler des InkOverlay-Objekts einen Delegaten an, um die Freihandeingaben selbst zu zeichnen, oder behandeln Sie das Invalidate-Ereignis des zugrunde liegenden Steuerelements, um das InvalidateEventArgs-Objekt zu ändern.

Beispiele

In diesem Beispiel werden Striche in einem InkOverlay-Objekt angezeigt, indem die AutoRedraw-Eigenschaft auf false festgelegt und das Freihandelement anschließend manuell gezeichnet wird. Der Paint-Ereignishandler für das Steuerelement, an das das InkCollector-Objekt angefügt ist, überprüft die Größe jedes Strichs. Wenn der Strich kleiner als 400 Freihandbereich-Einheiten ist, wird der Strich blau angezeigt.

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);
            }
        }
    }

}

Plattformen

Windows Vista

.NET Framework und .NET Compact Framework unterstützen nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Versionsinformationen

.NET Framework

Unterstützt in: 3.0

Siehe auch

Referenz

InkOverlay-Klasse

InkOverlay-Member

Microsoft.Ink-Namespace

InkOverlay.DynamicRendering

InkOverlay.OnPainted