次の方法で共有


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

参照

参照

Strokes クラス

Strokes メンバ

Microsoft.Ink 名前空間

Ink

Strokes.Add