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 オブジェクトにデータが含まれていないと、例外がスローされます。 |
![]() |
---|
このメソッドの 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