ContextNode オブジェクトの型を指定する値を定義します。
名前空間 : Microsoft.Ink
アセンブリ : Microsoft.Ink.Analysis (Microsoft.Ink.Analysis.dll 内)
構文
'宣言
Public NotInheritable Class ContextNodeType
'使用
Dim instance As ContextNodeType
public sealed class ContextNodeType
public ref class ContextNodeType sealed
public final class ContextNodeType
public final class ContextNodeType
解説
ContextNode.Type プロパティおよび InkAnalyzer.FindNodesOfType メソッドは、このクラスのフィールドを頻繁に使用します。
例
この例では、TextBox、selectedResultsTextBox の Text プロパティを設定して、ContextNode、selectedNode の適切な文字列を表示します。Type プロパティを使用して、ContextNode の型に応じて表示するテキストの種類を選択します。
Select Case selectedNode.Type
Case Microsoft.Ink.ContextNodeType.WritingRegion
Dim writingRegion As WritingRegionNode = _
CType(selectedNode, WritingRegionNode)
selectedResultsTextBox.Text = writingRegion.GetRecognizedString()
Case Microsoft.Ink.ContextNodeType.Paragraph
Dim paragraph As ParagraphNode = _
CType(selectedNode, ParagraphNode)
selectedResultsTextBox.Text = paragraph.GetRecognizedString()
Case Microsoft.Ink.ContextNodeType.Line
Dim line As LineNode = _
CType(selectedNode, LineNode)
selectedResultsTextBox.Text = line.GetRecognizedString()
Case Microsoft.Ink.ContextNodeType.InkWord
Dim inkWord As InkWordNode = _
CType(selectedNode, InkWordNode)
Dim parentNode As ContextNode = inkWord.ParentNode
If TypeOf parentNode Is LineNode Then
Dim parentLine As LineNode = CType(parentNode, LineNode)
' Put parent line's recognized string into the text box
selectedResultsTextBox.Text = parentLine.GetRecognizedString()
' Select the text that corresponds to the ink word
Dim subNodes As New ContextNodeCollection(theInkAnalyzer)
subNodes.Add(inkWord)
Dim start As Integer
Dim length As Integer
parentLine.GetTextRangeFromNodes(subNodes, start, length)
If start >= 0 AndAlso length > 0 Then
selectedResultsTextBox.Select(start, length)
End If
End If
' Show the time stamp
If inkWord.ContainsPropertyData(Me.timeStampGuid) Then
Dim timeStamp As DateTime = _
CType(inkWord.GetPropertyData(Me.timeStampGuid), DateTime)
timeStampLabel.Text = timeStamp.ToShortTimeString()
End If
' Snippet to demonstrate GetPropertyDataIds
Dim propertyDataIds() As Guid = inkWord.GetPropertyDataIds()
' Snippets to demonstrate loading and saving
Dim data As Byte() = inkWord.SavePropertiesData()
If (Not inkWord.LoadPropertiesData(data)) Then
MessageBox.Show("Cannot load property data")
End If
Case Microsoft.Ink.ContextNodeType.InkDrawing
Dim drawingNode As InkDrawingNode = CType(selectedNode, InkDrawingNode)
selectedResultsTextBox.Text = drawingNode.GetShapeName()
Case Microsoft.Ink.ContextNodeType.InkBullet
Dim bulletNode As InkBulletNode = CType(selectedNode, InkBulletNode)
selectedResultsTextBox.Text = bulletNode.GetRecognizedString()
Case Microsoft.Ink.ContextNodeType.Object
Dim selectedObject As ObjectNode = selectedNode
selectedResultsTextBox.Text = selectedObject.GetRecognizedString()
Case Microsoft.Ink.ContextNodeType.CustomRecognizer
Dim customRecognizer As CustomRecognizerNode = selectedNode
selectedResultsTextBox.Text = customRecognizer.GetRecognizedString()
Case Else
selectedResultsTextBox.Text = String.Empty
End Select
if (selectedNode.Type == Microsoft.Ink.ContextNodeType.WritingRegion)
{
WritingRegionNode writingRegion = (WritingRegionNode)selectedNode;
selectedResultsTextBox.Text = writingRegion.GetRecognizedString();
}
else if (selectedNode.Type == Microsoft.Ink.ContextNodeType.Paragraph)
{
ParagraphNode paragraph = (ParagraphNode)selectedNode;
selectedResultsTextBox.Text = paragraph.GetRecognizedString();
}
else if (selectedNode.Type == Microsoft.Ink.ContextNodeType.Line)
{
LineNode line = (LineNode)selectedNode;
selectedResultsTextBox.Text = line.GetRecognizedString();
}
else if (selectedNode.Type == Microsoft.Ink.ContextNodeType.InkWord)
{
InkWordNode inkWord = (InkWordNode)selectedNode;
ContextNode parentNode = inkWord.ParentNode;
if (parentNode is LineNode)
{
LineNode parentLine = (LineNode)parentNode;
// Put parent line's recognized string into the text box
selectedResultsTextBox.Text = parentLine.GetRecognizedString();
// Select the text that corresponds to the ink word
ContextNodeCollection subNodes = new ContextNodeCollection(theInkAnalyzer);
subNodes.Add(inkWord);
int start = 0;
int length = 0;
parentLine.GetTextRangeFromNodes(subNodes, out start, out length);
if (start >= 0 && length > 0)
{
selectedResultsTextBox.Select(start, length);
}
}
}
else if (selectedNode.Type == Microsoft.Ink.ContextNodeType.InkDrawing)
{
InkDrawingNode drawingNode = (InkDrawingNode)selectedNode;
selectedResultsTextBox.Text = drawingNode.GetShapeName();
}
else if (selectedNode.Type == Microsoft.Ink.ContextNodeType.InkBullet)
{
InkBulletNode bulletNode = (InkBulletNode)selectedNode;
selectedResultsTextBox.Text = bulletNode.GetRecognizedString();
}
else if (selectedNode.Type == Microsoft.Ink.ContextNodeType.CustomRecognizer)
{
CustomRecognizerNode customRecognizer = (CustomRecognizerNode)selectedNode;
selectedResultsTextBox.Text = customRecognizer.GetRecognizedString();
}
else if (selectedNode.Type == Microsoft.Ink.ContextNodeType.Object)
{
ObjectNode selectedObject = (ObjectNode)selectedNode;
selectedResultsTextBox.Text = selectedObject.GetRecognizedString();
}
else
{
selectedResultsTextBox.Text = String.Empty;
}
継承階層
System.Object
Microsoft.Ink.ContextNodeType
スレッド セーフ
この型のすべてのパブリック static (Visual Basic では Shared) メンバは、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォーム
Windows Vista
.NET Framework および .NET Compact Framework では、各プラットフォームのすべてのバージョンはサポートしていません。サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。
バージョン情報
.NET Framework
サポート対象 : 3.0