Freigeben über


InkPicture.AutoRedraw-Eigenschaft

Ruft einen Wert ab, oder legt einen Wert fest, der angibt, ob das InkPicture-Steuerelement 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 InkPicture
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
Wert, der angibt, ob das InkPicture-Steuerelement die Freihandeingabe neu zeichnet, wenn das Fenster ungültig wird.

Wert

Bedeutung

true

Das InkPicture-Steuerelement zeichnet die Freihandeingabe neu, wenn das Fenster ungültig wird.

false

Das InkPicture-Steuerelement zeichnet die Freihandeingabe nicht neu, wenn das Fenster ungültig wird.

Hinweise

Der Wert für AutoRedraw gibt an, ob das derzeit dem InkPicture-Steuerelement zugeordnete Ink-Objekt automatisch neu gezeichnet wird, wenn das dem InkPicture-Steuerelement zugeordnete Fenster eine Paint-Benachrichtigung empfängt. Auf z. B. true festgelegt, wird die Freihandeingabe 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 InkPicture-Steuerelement auf false festlegen. Fügen Sie in diesem Fall dem OnPainted-Ereignishandler des InkPicture-Steuerelements einen Delegaten an, um die Freihandeingaben selbst zu zeichnen, oder behandeln Sie das geerbte Invalidate-Ereignis, um das InvalidateEventArgs-Objekt zu ändern.

Beispiele

In diesem Beispiel werden Striche in einem InkPicture-Steuerelement angezeigt, indem die AutoRedraw-Eigenschaft auf false festgelegt und das Freihandelement anschließend manuell gezeichnet wird. Der Paint-Ereignishandler für das InkPicture-Steuerelement ü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

InkPicture-Klasse

InkPicture-Member

Microsoft.Ink-Namespace

InkPicture.OnPainted

InkPicture.DynamicRendering

Weitere Ressourcen

System.Windows.Forms.Control.Invalidate-Methode