Evento InkPicture.StrokesDeleting
Aggiornamento: novembre 2007
Si verifica prima dell'eliminazione degli oggetti Stroke dalla proprietà Ink del controllo InkPicture.
Spazio dei nomi: Microsoft.Ink
Assembly: Microsoft.Ink (in Microsoft.Ink.dll)
Sintassi
'Dichiarazione
Public Event StrokesDeleting As InkOverlayStrokesDeletingEventHandler
'Utilizzo
Dim instance As InkPicture
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 non supporta gli eventi.
Note
Il gestore eventi riceve un argomento di tipo InkOverlayStrokesDeletingEventArgs contenente i dati relativi a questo evento.
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 dell'evento 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 se si aggiunge un gestore eventi.
Esempi
In questo esempio viene illustrato come sottoscrivere l'evento StrokesDeleting per consentire il ripristino dell'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