InkOverlayStrokesDeletingEventHandler 委派
表示處理 InkOverlay 物件之 StrokesDeleting 事件的方法。
命名空間: Microsoft.Ink
組件: Microsoft.Ink (在 Microsoft.Ink.dll 中)
語法
'宣告
Public Delegate Sub InkOverlayStrokesDeletingEventHandler ( _
sender As Object, _
e As InkOverlayStrokesDeletingEventArgs _
)
'用途
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 不支援委派。
參數
- sender
型別:System.Object
這個事件的來源 InkOverlay 物件。
- e
型別:Microsoft.Ink.InkOverlayStrokesDeletingEventArgs
包含事件資料的 InkOverlayStrokesDeletingEventArgs 物件。
備註
StrokesDeleting 事件發生於從 InkOverlay.Ink 屬性刪除 Stroke 物件之前。
在建立 InkOverlayStrokesDeletingEventHandler 委派 (Delegate) 時,您會識別處理事件的方法。若要使事件與您的事件處理常式產生關聯,請將委派的執行個體 (Instance) 加入至事件。除非您移除委派,否則每當事件發生時就會呼叫事件處理常式。基於效能考量,相關事件的預設是關閉的,但會在您加入事件處理常式時自動在「Managed 程式碼」中開啟。
範例
這個範例會示範如何訂閱 StrokesDeleting 事件,讓您還原最後刪除的筆劃。
當 StrokesDeleting 事件引發時,會儲存即將刪除的 Stroke 物件。
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());
}
為回應使用者動作,例如按一下 MenuItem (英文),先前已刪除的 Stroke 物件會重新加入至原始的 Ink 物件。
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();
}
平台
Windows Vista
.NET Framework 和 .NET Compact Framework 並不支援各種平台的所有版本。如需支援平台版本的相關資訊,請參閱 .NET Framework 系統需求。
版本資訊
.NET Framework
支援版本:3.0