Strokes.StrokesAdded イベント
1 つ以上の Stroke オブジェクトが Strokes コレクションに追加されると発生します。
名前空間 : Microsoft.Ink
アセンブリ : Microsoft.Ink (Microsoft.Ink.dll 内)
構文
'宣言
Public Event StrokesAdded As StrokesEventHandler
'使用
Dim instance As Strokes
Dim handler As StrokesEventHandler
AddHandler instance.StrokesAdded, handler
public event StrokesEventHandler StrokesAdded
public:
event StrokesEventHandler^ StrokesAdded {
void add (StrokesEventHandler^ value);
void remove (StrokesEventHandler^ value);
}
/** @event */
public void add_StrokesAdded (StrokesEventHandler value)
/** @event */
public void remove_StrokesAdded (StrokesEventHandler value)
JScript では、イベントは使用できません。
解説
イベント ハンドラは、このイベントについてのデータを格納している StrokesEventArgs 型の引数を受け取ります。
StrokesEventHandler デリゲートを作成する場合は、イベントを処理するメソッドを指定します。イベントをイベント ハンドラに関連付けるには、デリゲートのインスタンスをイベントに追加します。デリゲートを削除しない限り、そのイベントが発生すると常にイベント ハンドラが呼び出されます。
例
この例では、新しく追加されたストロークが、StrokesAdded イベント ハンドラによって時計回りに 90 度回転されます。回転は、新しく追加された Stroke オブジェクトの境界ボックスの中心を基準に行われます。
' Reminder: To avoid a memory leak, you must explicitly call the Dispose() method
' on any Strokes collection to which an event handler has been attached before
' the collection goes out of scope.
Private Sub Strokes_StrokesAdded(ByVal sender As Object, ByVal e As StrokesEventArgs)
' check each stroke id passed to the handler
For Each id As Integer In e.StrokeIds
' find the Stroke
For Each oneStroke As Stroke In DirectCast(sender, Strokes)
' when we find the added stroke, rotate it
If (oneStroke.Id = id) Then
Dim bounds As Rectangle = oneStroke.GetBoundingBox()
' create a point at the center of bounding box
Dim center As Point = New Point(bounds.Left + (bounds.Width / 2), bounds.Top + (bounds.Height / 2))
' rotate the stroke
oneStroke.Rotate(90, center)
End If
Next
Next
End Sub
// Reminder: To avoid a memory leak, you must explicitly call the Dispose() method
// on any Strokes collection to which an event handler has been attached before
// the collection goes out of scope.
private void Strokes_StrokesAdded(object sender, StrokesEventArgs e)
{
// check each stroke id passed to the handler
foreach (int id in e.StrokeIds)
{
// find the Stroke
foreach (Stroke oneStroke in (Strokes)sender)
{
// when we find the added stroke, rotate it
if (oneStroke.Id == id)
{
Rectangle bounds = oneStroke.GetBoundingBox();
// create a point at the center of bounding box
Point center = new Point(bounds.Left + (bounds.Width / 2), bounds.Top + (bounds.Height / 2));
// rotate the stroke
oneStroke.Rotate(90, center);
}
}
}
}
プラットフォーム
Windows Vista
.NET Framework および .NET Compact Framework では、各プラットフォームのすべてのバージョンはサポートしていません。サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。
バージョン情報
.NET Framework
サポート対象 : 3.0