Bagikan melalui


InkOverlay.StrokesDeleted Event

Occurs after one or more Stroke objects have been deleted from the InkOverlay.Ink property.

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

Syntax

'Declaration
Public Event StrokesDeleted As InkOverlayStrokesDeletedEventHandler
'Usage
Dim instance As InkOverlay 
Dim handler As InkOverlayStrokesDeletedEventHandler 

AddHandler instance.StrokesDeleted, handler
public event InkOverlayStrokesDeletedEventHandler StrokesDeleted
public:
 event InkOverlayStrokesDeletedEventHandler^ StrokesDeleted {
    void add (InkOverlayStrokesDeletedEventHandler^ value);
    void remove (InkOverlayStrokesDeletedEventHandler^ value);
}
JScript does not support events.

Remarks

This event fires when you call either the Ink.DeleteStroke or the Ink.DeleteStrokes method for ink attached to an InkOverlay object.

The event handler receives an argument of type EventArgs, which contains no data.

Examples

This example demonstrates how you can subscribe to the Stoke event, and the StrokesDeleted event to modify the background color of the control on which ink is rendered.

When the Stoke event fires, the EditingMode property is examined. If currently in Ink mode, the background color of the control is changed to white. You must check the EditingMode property because the Stoke event fires also when erasing stokes.

Private Sub mInkObject_Stroke3(ByVal sender As Object, ByVal e As InkCollectorStrokeEventArgs)
    ' If you are in inking mode, change background to white. 
    ' (This event will also fire in Delete mode because the movement made by 
    ' the eraser is considered a stroke.) 
    If (InkOverlayEditingMode.Ink = mInkObject.EditingMode) Then
        mInkObject.AttachedControl.BackColor = Color.White
    End If 
End Sub
private void mInkObject_Stroke3(object sender, InkCollectorStrokeEventArgs e)
{
    // If you are in inking mode, change background to white. 
    // (This event will also fire in Delete mode because the movement made by 
    // the eraser is considered a stroke.) 
    if (InkOverlayEditingMode.Ink == mInkObject.EditingMode)
    {
        mInkObject.AttachedControl.BackColor = Color.White;
    }

}

When the StrokesDeleted event fires, the Stokes collection is examined. If there are no Stroke objects in the collection (or only the stoke of the eraser remains), the background color of the control is changed to gray.

Private Sub mInkObject_StrokesDeleted(ByVal sender As Object, ByVal e As EventArgs)
    ' Change the background to gray if there are no strokes. 
    ' If the last stroke was deleted by an eraser, there will be one transparent  
    ' stroke, which is the stroke made by the eraser itself. 
    If (mInkObject.Ink.Strokes.Count = 0 Or _
       (mInkObject.Ink.Strokes.Count = 1 And _
        mInkObject.Ink.Strokes(0).DrawingAttributes.Transparency = 255)) Then

        mInkObject.AttachedControl.BackColor = Color.Gray

    End If 
End Sub
private void mInkObject_StrokesDeleted(object sender, EventArgs e)
{
    // Change the background to gray if there are no strokes. 
    // If the last stroke was deleted by an eraser, there will be one transparent  
    // stroke, which is the stroke made by the eraser itself. 
    if (mInkObject.Ink.Strokes.Count == 0 ||
       (mInkObject.Ink.Strokes.Count == 1 &&
        mInkObject.Ink.Strokes[0].DrawingAttributes.Transparency == 255))
    {
        mInkObject.AttachedControl.BackColor = Color.Gray;
    }

}

Platforms

Windows 7, Windows Vista, Windows Server 2008 R2, Windows Server 2008

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Version Information

.NET Framework

Supported in: 3.0

See Also

Reference

InkOverlay Class

InkOverlay Members

Microsoft.Ink Namespace

InkOverlay.Ink

InkOverlay.StrokesDeleting

Other Resources

System.EventArgs