ExtendedProperties.Add 方法
建立 ExtendedProperty 物件,並將它加入至 ExtendedProperties 集合。
命名空間: Microsoft.Ink
組件: Microsoft.Ink (在 Microsoft.Ink.dll 中)
語法
'宣告
Public Function Add ( _
id As Guid, _
data As Object _
) As ExtendedProperty
'用途
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
參數
- id
型別:System.Guid
新的 ExtendedProperty 物件的識別項。
- data
型別:System.Object
新的 ExtendedProperty 物件的資料。
傳回值
型別:Microsoft.Ink.ExtendedProperty
新的 ExtendedProperty 物件。
備註
![]() |
---|
您不能儲存空白的 ExtendedProperty 物件。ExtendedProperty 物件必須包含 Data 才能加以儲存。例如,在您將 ExtendedProperty 物件加入至 Stroke 物件以供稍後使用時,如果 ExtendedProperty 物件沒有包含任何資料,就會擲回例外狀況 (Exception)。 |
![]() |
---|
如果您在呼叫這個方法時,將 ID 參數設定為已存在於 ExtendedProperties 集合的全域唯一識別項 (GUID),新的資料便會取代具有該 GUID 之 ExtendedProperty 物件的現有資料。若要建立其他 ExtendedProperty 物件,請針對這些物件指定唯一的 id 參數值。 |
範例
這個範例會示範如何訂閱 CursorDown 事件和 Stroke 事件,計算使用者建立筆劃所需的時間長度。
筆劃開始時,會引發 CursorDown 事件。目前的時間會放入 Stroke 物件的 ExtendedProperties 集合。
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);
}
筆劃完成時,會引發 Stroke 事件。開始時間是擷取自 Stroke 物件的 ExtendedProperties 集合,並且用來計算經過的時間。
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();
}
}
平台
Windows Vista
.NET Framework 和 .NET Compact Framework 並不支援各種平台的所有版本。如需支援平台版本的相關資訊,請參閱 .NET Framework 系統需求。
版本資訊
.NET Framework
支援版本:3.0