InkOverlay.StrokesDeleting-Ereignis
Tritt ein, bevor Striche aus der Ink-Eigenschaft gelöscht werden.
Namespace: Microsoft.Ink
Assembly: Microsoft.Ink (in Microsoft.Ink.dll)
Syntax
'Declaration
Public Event StrokesDeleting As InkOverlayStrokesDeletingEventHandler
'Usage
Dim instance As InkOverlay
Dim handler As InkOverlayStrokesDeletingEventHandler
AddHandler instance.StrokesDeleting, handler
public event InkOverlayStrokesDeletingEventHandler StrokesDeleting
public:
event InkOverlayStrokesDeletingEventHandler^ StrokesDeleting {
void add (InkOverlayStrokesDeletingEventHandler^ value);
void remove (InkOverlayStrokesDeletingEventHandler^ value);
}
/** @event */
public void add_StrokesDeleting (InkOverlayStrokesDeletingEventHandler value)
/** @event */
public void remove_StrokesDeleting (InkOverlayStrokesDeletingEventHandler value)
JScript unterstützt keine Ereignisse.
Hinweise
Dieses Ereignis wird ausgelöst, wenn Sie entweder die Ink.DeleteStroke-Methode oder die Ink.DeleteStrokes-Methode für die mit einem InkOverlay-Objekt verbundenen Freihandeingaben aufrufen.
Der Ereignishandler empfängt ein Argument vom Typ InkOverlayStrokesDeletingEventArgs, das Daten zu diesem Ereignis enthält.
Beim Erstellen eines InkOverlayStrokesDeletingEventHandler-Delegaten bestimmen Sie die Methode für die Ereignisbehandlung. Um dem Ereignishandler das Ereignis zuzuordnen, fügen Sie dem Ereignis eine Instanz des Delegaten hinzu. Der Ereignishandler wird bei jedem Eintreten des Ereignisses aufgerufen, sofern der Delegat nicht entfernt wird. Aus Leistungsgründen ist das Standardinteresse an einem Ereignis deaktiviert, es wird jedoch automatisch aktiviert, wenn Sie einen Ereignishandler hinzufügen.
Beispiele
In diesem Beispiel wird veranschaulicht, wie Sie das StrokesDeleting-Ereignis abonnieren können, um den zuletzt gelöschten Strich wiederherstellen zu können.
Wenn das StrokesDeleting-Ereignis ausgelöst wird, werden die Stroke-Objekte, die gerade gelöscht werden sollten, gespeichert.
Private Sub mInkObject_StrokesDeleting(ByVal sender As Object, ByVal e As InkOverlayStrokesDeletingEventArgs)
' Store strokes for later undo. They must be stored in
' a separate Ink object.
mInkDeleted = New Ink()
mInkDeleted.AddStrokesAtRectangle(e.StrokesToDelete, e.StrokesToDelete.GetBoundingBox())
End Sub
private void mInkObject_StrokesDeleting(object sender, InkOverlayStrokesDeletingEventArgs e)
{
// Store strokes for later undo. They must be stored in
// a separate Ink object.
mInkDeleted = new Ink();
mInkDeleted.AddStrokesAtRectangle(e.StrokesToDelete, e.StrokesToDelete.GetBoundingBox());
}
Als Reaktion auf eine Benutzeraktion (z. B. Klicken auf ein MenuItem) werden die zuvor gelöschten Stroke-Objekte wieder dem ursprünglichen Ink-Objekt hinzugefügt.
If Not mInkDeleted Is Nothing Then
' Add strokes back. (You need to use Ink.AddStrokesAtRectangle as opposed
' to Strokes.Add because you are dealing with two different Ink objects.)
mInkObject.Ink.AddStrokesAtRectangle(mInkDeleted.Strokes, mInkDeleted.Strokes.GetBoundingBox())
mInkDeleted = Nothing
' For best performance, you should Invalidate the rectangle created by the
' bounding box (converted from ink space to pixel space). For simplicity,
' we will just refresh the entire control.
Refresh()
End If
if (mInkDeleted != null)
{
// Add strokes back. (You need to use Ink.AddStrokesAtRectangle as opposed
// to Strokes.Add because you are dealing with two different Ink objects.)
mInkObject.Ink.AddStrokesAtRectangle(mInkDeleted.Strokes, mInkDeleted.Strokes.GetBoundingBox());
mInkDeleted = null;
// For best performance, you should Invalidate the rectangle created by the
// bounding box (converted from ink space to pixel space). For simplicity,
// we will just refresh the entire control.
Refresh();
}
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