Delegato InkOverlayStrokesDeletingEventHandler
Aggiornamento: novembre 2007
Rappresenta il metodo che gestisce l'evento StrokesDeleting di un oggetto InkOverlay.
Spazio dei nomi: Microsoft.Ink
Assembly: Microsoft.Ink (in Microsoft.Ink.dll)
Sintassi
'Dichiarazione
Public Delegate Sub InkOverlayStrokesDeletingEventHandler ( _
sender As Object, _
e As InkOverlayStrokesDeletingEventArgs _
)
'Utilizzo
Dim instance As New InkOverlayStrokesDeletingEventHandler(AddressOf HandlerMethod)
public delegate void InkOverlayStrokesDeletingEventHandler(
Object sender,
InkOverlayStrokesDeletingEventArgs e
)
public delegate void InkOverlayStrokesDeletingEventHandler(
Object^ sender,
InkOverlayStrokesDeletingEventArgs^ e
)
/** @delegate */
public delegate void InkOverlayStrokesDeletingEventHandler(
Object sender,
InkOverlayStrokesDeletingEventArgs e
)
JScript non supporta i delegati.
Parametri
- sender
Tipo: System.Object
Oggetto InkOverlay di origine di questo evento.
- e
Tipo: Microsoft.Ink.InkOverlayStrokesDeletingEventArgs
Oggetto InkOverlayStrokesDeletingEventArgs che contiene i dati dell'evento.
Note
L'evento StrokesDeleting si verifica prima dell'eliminazione degli oggetti Stroke dalla proprietà InkOverlay.Ink.
Quando si crea un delegato InkOverlayStrokesDeletingEventHandler, viene identificato il metodo che gestisce l'evento. Per associare l'evento al gestore in uso, aggiungere all'evento un'istanza del delegato. Il gestore eventi viene chiamato ogni volta che si verifica l'evento, a meno che non si rimuova il delegato. Per motivi di prestazioni, l'interesse dell'evento predefinito è disattivato, ma viene attivato automaticamente nel codice gestito se si aggiunge un gestore eventi.
Esempi
In questo esempio viene illustrato come sottoscrivere l'evento StrokesDeleting per poter ripristinare l'ultimo tratto eliminato.
Quando viene generato l'evento StrokesDeleting, gli oggetti Stroke che stanno per essere eliminati vengono salvati.
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());
}
In risposta a un'azione dell'utente, ad esempio la scelta di un oggetto MenuItem, gli oggetti Stroke precedentemente eliminati vengono nuovamente aggiunti all'oggetto Ink originale.
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();
}
Piattaforme
Windows Vista
.NET Framework e .NET Compact Framework non supportano tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.
Informazioni sulla versione
.NET Framework
Supportato in: 3.0