次の方法で共有


InkCollector.AutoRedraw プロパティ

ウィンドウが無効化された場合に 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