GetTextRangeFromNodes Method

InkAnalyzer.GetTextRangeFromNodes Method

Finds the text range in the recognized string that corresponds to a collection of ContextNode objects.

Namespace:  Microsoft.Ink
Assembly:  Microsoft.Ink.Analysis (in Microsoft.Ink.Analysis.dll)

public void GetTextRangeFromNodes(
	ContextNodeCollection nodesToSearch,
	out int start,
	out int length


Type: Microsoft.Ink.ContextNodeCollection

The collection of ContextNode objects for which to find the text range.

Type: System.Int32%

When this method returns, the start parameter contains a 32-bit signed integer that indicates the start of the text range. This parameter is passed uninitialized.

Type: System.Int32%

When this method returns, the length parameter contains a 32-bit signed integer that indicates the length of the text range. This parameter is passed uninitialized.

If nodesToSearch contains ContextNode objects that are not adjacent, this method returns the smallest text range that covers all of the ContextNode objects.

This method throws a System.ArgumentException when nodesToSearch contains a ContextNode that is not associated with the InkAnalyzer.

This example defines a method, SelectTextRangeFromNodes, that sets the text of the System.Windows.Forms.TextBox, theResultsTextBox, to the recognition string of the InkAnalyzer, theInkAnalyzer. It then sets the text box selection to span the recognized text for the parameter, theContextNodes.

/// <summary> 
/// Selects the text range in the TextBox, theResultsTextBox, that represents 
/// the node ranges in theContextNodes. 
/// </summary> 
/// <param name="theContextNodes">
/// The nodes for which to select the text range.</param> 
/// <remarks> 
/// If <paramref name="theContextNodes"/> are not current context nodes
/// of the InkAnalyzer, theInkAnalyzer, then GetTextRangeFromNodes throws 
/// an ArgumentException. 
/// </remarks> 
private void SelectTextRangeFromNodes(
    Microsoft.Ink.ContextNodeCollection theContextNodes)
    // Set the text of theResultsTextBox. 
    this.theResultsTextBox.Text = this.theInkAnalyzer.GetRecognizedString();

    // Get the text range for theContextNodes. 
    int theStart;
    int theLength;
            theContextNodes, out theStart, out theLength);
    // Check for common exceptions. 
    catch (ArgumentException ex)
        throw new ArgumentException("Invalid ContextNodeCollection",
            "theContextNodes", ex);

    // Select the text range in the TextBox. 
    this.theResultsTextBox.Select(theStart, theLength);

Windows 7, Windows Vista, Windows Server 2008 R2, Windows Server 2008

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.0

Community Additions

© 2015 Microsoft