ExtendedProperties.Add (Método)
Actualización: noviembre 2007
Crea un objeto ExtendedProperty y lo agrega a la colección ExtendedProperties.
Espacio de nombres: Microsoft.Ink
Ensamblado: Microsoft.Ink (en Microsoft.Ink.dll)
Sintaxis
'Declaración
Public Function Add ( _
id As Guid, _
data As Object _
) As ExtendedProperty
'Uso
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
Parámetros
- id
Tipo: System.Guid
Identificador del nuevo objeto ExtendedProperty.
- data
Tipo: System.Object
Datos del nuevo objeto ExtendedProperty.
Valor devuelto
Tipo: Microsoft.Ink.ExtendedProperty
Nuevo objeto ExtendedProperty.
Comentarios
Nota
Un objeto ExtendedProperty vacío no se puede almacenar. El objeto ExtendedProperty debe contener Data antes de poder almacenarse. Si agrega un objeto ExtendedProperty a un objeto Stroke para usarlo por ejemplo más adelante, se produce una excepción si el objeto ExtendedProperty no contiene datos.
Nota
Si llama a este método con el parámetro de identificador establecido en un identificador único global (GUID) que ya existe en la colección ExtendedProperties, los nuevos datos reemplazan a los datos existentes del objeto ExtendedProperty con ese GUID. Para crear objetos ExtendedProperty adicionales, asígneles valores únicos para el parámetro id.
Ejemplos
En este ejemplo se muestra cómo puede suscribirse al evento CursorDown y al evento Stroke para calcular el período de tiempo que tarda el usuario en crear un trazo.
Al comienzo de un trazo, se desencadena el evento CursorDown. La hora actual se sitúa en la colección ExtendedProperties del objeto Stroke.
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);
}
Cuando se completa el trazo, se desencadena el evento Stroke. La hora de inicio se recupera de la colección ExtendedProperties del objeto Stroke y se usa para calcular el tiempo transcurrido.
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();
}
}
Plataformas
Windows Vista
.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.
Información de versión
.NET Framework
Compatible con: 3.0