Partager via


InkAnalyzer.GetTextRangeFromNodes, méthode

Mise à jour : November 2007

Recherche la plage de texte dans la chaîne reconnue qui correspond à une collection d'objets ContextNode.

Espace de noms :  Microsoft.Ink
Assembly :  Microsoft.Ink.Analysis (dans Microsoft.Ink.Analysis.dll)

Syntaxe

'Déclaration
Public Sub GetTextRangeFromNodes ( _
    nodesToSearch As ContextNodeCollection, _
    <OutAttribute> ByRef start As Integer, _
    <OutAttribute> ByRef length As Integer _
)
'Utilisation
Dim instance As InkAnalyzer
Dim nodesToSearch As ContextNodeCollection
Dim start As Integer
Dim length As Integer

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

Paramètres

  • start
    Type : System.Int32%
    Cette méthode retourne le paramètre start avec un entier signé 32 bits qui indique le début de la plage de texte. Ce paramètre est passé sans être initialisé.
  • length
    Type : System.Int32%
    Cette méthode retourne le paramètre length avec un entier signé 32 bits indiquant la longueur de la plage de texte. Ce paramètre est passé sans être initialisé.

Notes

Si nodesToSearch contient des objets ContextNode qui ne sont pas adjacents, cette méthode retourne la plus petite plage de texte qui couvre tous les objets ContextNode.

Cette méthode lève une exception System.ArgumentException (page pouvant être en anglais) lorsque nodesToSearch contient un ContextNode qui n'est pas associé au InkAnalyzer.

Exemples

Cet exemple définit une méthode, SelectTextRangeFromNodes, qui affecte la valeur de la chaîne de reconnaissance du InkAnalyzer, theInkAnalyzer au texte du System.Windows.Forms.TextBox (page pouvant être en anglais), theResultsTextBox. Il définit ensuite la sélection de la zone de texte de manière à couvrir le texte reconnu pour le paramètre, 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 Sub SelectTextRangeFromNodes(ByVal theContextNodes As Microsoft.Ink.ContextNodeCollection)
    ' Set the text of theResultsTextBox.
    Me.theResultsTextBox.Text = Me.theInkAnalyzer.GetRecognizedString()

    ' Get the text range for theContextNodes.
    Dim theStart As Integer
    Dim theLength As Integer
    Try
        Me.theInkAnalyzer.GetTextRangeFromNodes( _
            theContextNodes, theStart, theLength)
        ' Check for common exceptions.
    Catch ex As ArgumentException
        Throw New ArgumentException( _
            "Invalid ContextNodeCollection", "theContextNodes", ex)
    End Try

    ' Select the text range in the TextBox.
    Me.theResultsTextBox.Select(theStart, theLength)
    Me.theResultsTextBox.Invalidate()

End Sub 'SelectTextRangeFromNodes
/// <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;
    try
    {
        this.theInkAnalyzer.GetTextRangeFromNodes(
            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);
    this.theResultsTextBox.Invalidate();
}

Plateformes

Windows Vista

Le .NET Framework et le .NET Compact Framework ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

Informations de version

.NET Framework

Pris en charge dans : 3.0

Voir aussi

Référence

InkAnalyzer, classe

Membres InkAnalyzer

Microsoft.Ink, espace de noms