Share via


Ink.InkDeleted Event

Occurs when a Stroke object is deleted from the Ink object.

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

Syntax

'Declaration
Public Event InkDeleted As StrokesEventHandler
'Usage
Dim instance As Ink 
Dim handler As StrokesEventHandler 

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

Remarks

The event handler receives an argument of type StrokesEventArgs that contains data about this event.

When you create a StrokesEventHandler delegate, you identify the method that handles the event. To associate the event with your event handler, add an instance of the delegate to the event. The event handler is called whenever the event occurs, unless you remove the delegate.

If you use the InkOverlay object or the InkPicture control (where EditingMode equals Delete and EraserMode equals StrokeErase) and pass the eraser over a stroke, you get the following sequence of events:

  1. InkDeleted

  2. InkAdded

  3. InkDeleted

The additional InkAdded and InkDeleted events occur because the underlying code adds an internal, invisible stroke to track the eraser.

The InkDeleted event fires even when in select mode, not only when in delete mode. This requires that you monitor the editing mode (which you are responsible for setting) and be aware of the mode before interpreting the event. The advantage of this requirement is greater freedom to innovate on the platform through greater awareness of platform events.

Examples

In this example an InkDeleted event handler writes information about the deleted strokes to a list box control.

Private Sub Ink_InkDeleted(ByVal sender As Object, ByVal e As StrokesEventArgs)
    ' since this event fires in select mode also, we will check EditingMode 
    ' and examine the StrokeIds only if we are currently in mode: InkOverlayEditingMode.Delete  
    If InkOverlayEditingMode.Delete = Me.mInkOverlay.EditingMode Then 
        For Each id As Integer In e.StrokeIds
            Me.listBoxStrokeId.Items.Add("Deleted ID:" + id.ToString())
        Next 
    End If 
End Sub
private void Ink_InkDeleted(object sender, StrokesEventArgs e)
{
    // since this event fires in select mode also, we will check EditingMode 
    // and examine the StrokeIds only if we are currently in mode: InkOverlayEditingMode.Delete  
    if (InkOverlayEditingMode.Delete == this.mInkOverlay.EditingMode)
    {
        foreach (int id in e.StrokeIds)
        {
            this.listBoxStrokeId.Items.Add("Deleted ID:" + id.ToString());

        }
    }
}

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

Ink Class

Ink Members

Microsoft.Ink Namespace

Ink.InkAdded

InkOverlay.EditingMode

InkOverlay.EraserMode

InkPicture.EditingMode

InkPicture.EraserMode

InkOverlay.StrokesDeleting

InkOverlay.StrokesDeleted

InkPicture.StrokesDeleting

InkPicture.StrokesDeleted

Stroke