InkOverlay.StrokesDeleting (Evento)
Actualización: noviembre 2007
Se produce antes de que se eliminen los trazos de la propiedad Ink.
Espacio de nombres: Microsoft.Ink
Ensamblado: Microsoft.Ink (en Microsoft.Ink.dll)
Sintaxis
'Declaración
Public Event StrokesDeleting As InkOverlayStrokesDeletingEventHandler
'Uso
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 no admite eventos.
Comentarios
Este evento se desencadena al llamar al método Ink.DeleteStrokes o Ink.DeleteStroke de la entrada manuscrita asociada a un objeto InkOverlay.
El controlador de eventos recibe un argumento de tipo InkOverlayStrokesDeletingEventArgs que contiene datos sobre este evento.
Al crear un delegado de InkOverlayStrokesDeletingEventHandler, se identifica el método que controla el evento. Para asociarlo al controlador de eventos, se debe agregar al evento una instancia del delegado. Siempre que se produce el evento, se llama a su controlador, a menos que se quite el delegado. Para mejorar el rendimiento, el interés del evento predeterminado está desactivado, pero se activa automáticamente si se agrega un controlador de eventos.
Ejemplos
En este ejemplo se muestra cómo puede suscribirse al evento StrokesDeleting para poder restaurar el último trazo eliminado.
Cuando se desencadena el evento StrokesDeleting, se guardan los objetos Stroke que están a punto de ser eliminados.
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());
}
En respuesta a una acción del usuario, como hacer clic en un MenuItem, los objetos Stroke que se eliminaron anteriormente se agregan de nuevo al objeto Ink original.
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();
}
Plataformas
Windows Vista
.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.
Información de versión
.NET Framework
Compatible con: 3.0