Freigeben über


ExtendedProperties.Add-Methode

Erstellt ein ExtendedProperty-Objekt und fügt es der ExtendedProperties-Auflistung hinzu.

Namespace:  Microsoft.Ink
Assembly:  Microsoft.Ink (in Microsoft.Ink.dll)

Syntax

'Declaration
Public Function Add ( _
    id As Guid, _
    data As Object _
) As ExtendedProperty
'Usage
Dim instance As ExtendedProperties
Dim id As Guid
Dim data As Object
Dim returnValue As ExtendedProperty

returnValue = instance.Add(id, data)
public ExtendedProperty Add(
    Guid id,
    Object data
)
public:
ExtendedProperty^ Add(
    Guid id, 
    Object^ data
)
public ExtendedProperty Add(
    Guid id,
    Object data
)
public function Add(
    id : Guid, 
    data : Object
) : ExtendedProperty

Parameter

Rückgabewert

Typ: Microsoft.Ink.ExtendedProperty
Das neue ExtendedProperty-Objekt.

Hinweise

Hinweis

Sie können kein leeres ExtendedProperty-Objekt speichern. Das ExtendedProperty-Objekt muss Data enthalten, bevor es gespeichert werden kann. Wenn Sie zum Beispiel für die spätere Verwendung ein ExtendedProperty-Objekt in ein Stroke-Objekt eingefügt haben, wird eine Ausnahme ausgelöst, wenn das ExtendedProperty-Objekt keine Daten enthält.

Hinweis

Wenn Sie diese Methode mit einem ID-Parameter aufrufen, der auf eine bereits in der ExtendedProperties-Auflistung vorhandene GUID (Globally Unique Identifier) festgelegt ist, werden die für das ExtendedProperty-Objekt mit dieser GUID vorhandenen Daten mit den neuen Daten überschrieben. Geben Sie eindeutige Werte für den id-Parameter an, um zusätzliche ExtendedProperty-Objekte zu erstellen.

Beispiele

In diesem Beispiel wird veranschaulicht, wie Sie das CursorDown-Ereignis und das Stroke-Ereignis abonnieren können, um zu berechnen, wieviel Zeit der Benutzer zum Erstellen eines Strichs benötigt.

Am Anfang eines Strichs wird das CursorDown-Ereignis ausgelöst. Die aktuelle Zeit wird in der ExtendedProperties-Auflistung des Stroke-Objekts platziert.

Private Sub mInkObject_CursorDown(ByVal sender As Object, ByVal e As InkCollectorCursorDownEventArgs)
    ' add extended property indicating the time the stroke started
    ' STROKE_START_GUID is class level string via GUID generator
    e.Stroke.ExtendedProperties.Add(New Guid(STROKE_START_GUID), DateTime.Now)
End Sub
private void mInkObject_CursorDown(object sender, InkCollectorCursorDownEventArgs e)
{
    // add extended property indicating the time the stroke started
    // STROKE_START_GUID is class level string via GUID generator
    e.Stroke.ExtendedProperties.Add(new Guid(STROKE_START_GUID), DateTime.Now);
}

Wenn der Strich abgeschlossen ist, wird das Stroke-Ereignis ausgelöst. Die Startzeit wird aus der ExtendedProperties-Auflistung des Stroke-Objekts abgerufen und zum Berechnen der verstrichenen Zeit verwendet.

Private Sub mInkObject_Stroke1(ByVal sender As Object, ByVal e As InkCollectorStrokeEventArgs)
    ' check to see if extended property for start time exists
    ' Attempting to access an extended property that hasn't been created throws an exception
    ' STROKE_START_GUID is class level string via GUID generator
    If (e.Stroke.ExtendedProperties.DoesPropertyExist(New Guid(STROKE_START_GUID))) Then

        Dim startTime As DateTime = DirectCast(e.Stroke.ExtendedProperties(New Guid(STROKE_START_GUID)).Data, DateTime)
        Dim endTime As DateTime = DateTime.Now
        Dim span As TimeSpan = New TimeSpan(endTime.Ticks - startTime.Ticks)

        ' add extended property indicating the time the stroke ended
        ' STROKE_END_GUID is class level string via GUID generator
        e.Stroke.ExtendedProperties.Add(New Guid(STROKE_END_GUID), endTime)

        ' display the number of seconds in creating this stroke
        Me.statusLabelStrokeTime.Text = span.TotalSeconds.ToString()
    End If
End Sub
private void mInkObject_Stroke1(object sender, InkCollectorStrokeEventArgs e)
{
    // check to see if extended property for start time exists
    // Attempting to access an extended property that hasn't been created throws an exception
    // STROKE_START_GUID is class level string via GUID generator
    if (e.Stroke.ExtendedProperties.DoesPropertyExist(new Guid(STROKE_START_GUID)))
    {
        DateTime startTime = (DateTime)e.Stroke.ExtendedProperties[new Guid(STROKE_START_GUID)].Data;
        DateTime endTime = DateTime.Now;
        TimeSpan span = new TimeSpan(endTime.Ticks - startTime.Ticks);

        // add extended property indicating the time the stroke ended
        // STROKE_END_GUID is class level string via GUID generator
        e.Stroke.ExtendedProperties.Add(new Guid(STROKE_END_GUID), endTime);

        // display the number of seconds in creating this stroke
        this.statusLabelStrokeTime.Text = span.TotalSeconds.ToString();
    }
}

Plattformen

Windows Vista

.NET Framework und .NET Compact Framework unterstützen nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Versionsinformationen

.NET Framework

Unterstützt in: 3.0

Siehe auch

Referenz

ExtendedProperties-Klasse

ExtendedProperties-Member

Microsoft.Ink-Namespace

ExtendedProperty

Strokes