次の方法で共有


CustomRecognizerNode.GetTextRangeFromNodes メソッド

CustomRecognizerNode オブジェクトの子孫である ContextNode オブジェクトのコレクションに対応する、認識された文字列の中のテキスト範囲を求めます。

名前空間 :  Microsoft.Ink
アセンブリ :  Microsoft.Ink.Analysis (Microsoft.Ink.Analysis.dll 内)

構文

'宣言
Public Sub GetTextRangeFromNodes ( _
    subTree As ContextNodeCollection, _
    <OutAttribute> ByRef start As Integer, _
    <OutAttribute> ByRef length As Integer _
)
'使用
Dim instance As CustomRecognizerNode
Dim subTree As ContextNodeCollection
Dim start As Integer
Dim length As Integer

instance.GetTextRangeFromNodes(subTree, _
    start, length)
public void GetTextRangeFromNodes(
    ContextNodeCollection subTree,
    out int start,
    out int length
)
public:
void GetTextRangeFromNodes(
    ContextNodeCollection^ subTree, 
    [OutAttribute] int% start, 
    [OutAttribute] int% length
)
public void GetTextRangeFromNodes(
    ContextNodeCollection subTree,
    /** @attribute OutAttribute */ /** @ref */int start,
    /** @attribute OutAttribute */ /** @ref */int length
)
public function GetTextRangeFromNodes(
    subTree : ContextNodeCollection, 
    start : int, 
    length : int
)

パラメータ

  • start
    型 : System.Int32%
    テキスト範囲の開始位置。

解説

subTree パラメータに、CustomRecognizerNode の子孫ではない ContextNode オブジェクトが含まれている場合、ArgumentException 例外がスローされます。

subTree> パラメータに、連続していない ContextNode オブジェクトが含まれる場合、すべてのContextNode オブジェクトが含まれる最小のテキスト範囲が返されます。

次の例では、CustomRecognizerNode、customRecognizer を使用して、最後の行を見つけます。次に、この行に対応するテキスト範囲を検索して GetRecognizedString の値を TextBox、selectedResultsTextBox に挿入し、最後の行に対応するテキストを選択します。

Dim lines As ContextNodeCollection = _
    theInkAnalyzer.FindNodesOfType(Microsoft.Ink.ContextNodeType.Line, customRecognizer)
Dim nLines As Integer = lines.Count

' Create a collection to hold the last line
Dim lastLineCollection As New ContextNodeCollection(theInkAnalyzer)
If nLines > 0 Then
    lastLineCollection.Add(lines(nLines - 1))
End If

' Find corresponding start and length
Dim start As Integer
Dim length As Integer
customRecognizer.GetTextRangeFromNodes(lastLineCollection, start, length)

' Select this in the text box
selectedResultsTextBox.Text = customRecognizer.GetRecognizedString()
selectedResultsTextBox.Select(start, length)
ContextNodeCollection lines = 
    theInkAnalyzer.FindNodesOfType(Microsoft.Ink.ContextNodeType.Line, customRecognizer);
int nLines = lines.Count;

// Create a collection to hold the last line
ContextNodeCollection lastLineCollection = new ContextNodeCollection(theInkAnalyzer);
if (nLines > 0)
{
    lastLineCollection.Add(lines[nLines - 1]);
}

// Find corresponding start and length
int start, length;
customRecognizer.GetTextRangeFromNodes(lastLineCollection, out start, out length);

// Select this in the text box
selectedResultsTextBox.Text = customRecognizer.GetRecognizedString();
selectedResultsTextBox.Select(start, length);

プラットフォーム

Windows Vista

.NET Framework および .NET Compact Framework では、各プラットフォームのすべてのバージョンはサポートしていません。サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。

バージョン情報

.NET Framework

サポート対象 : 3.0

参照

参照

CustomRecognizerNode クラス

CustomRecognizerNode メンバ

Microsoft.Ink 名前空間