Condividi tramite


Metodo LineNode.GetNodesFromTextRange (Int32%, Int32%)

Aggiornamento: novembre 2007

Restituisce un insieme di oggetti ContextNode discendenti rilevanti per l'intervallo di testo specificato nella stringa riconosciuta.

Spazio dei nomi:  Microsoft.Ink
Assembly:  Microsoft.Ink.Analysis (in Microsoft.Ink.Analysis.dll)

Sintassi

'Dichiarazione
Public Function GetNodesFromTextRange ( _
    ByRef start As Integer, _
    ByRef length As Integer _
) As ContextNodeCollection
'Utilizzo
Dim instance As LineNode
Dim start As Integer
Dim length As Integer
Dim returnValue As ContextNodeCollection

returnValue = instance.GetNodesFromTextRange(start, _
    length)
public ContextNodeCollection GetNodesFromTextRange(
    ref int start,
    ref int length
)
public:
ContextNodeCollection^ GetNodesFromTextRange(
    int% start, 
    int% length
)
public ContextNodeCollection GetNodesFromTextRange(
    /** @ref */int start,
    /** @ref */int length
)
public function GetNodesFromTextRange(
    start : int, 
    length : int
) : ContextNodeCollection

Parametri

  • start
    Tipo: System.Int32%
    Inizio dell'intervallo di testo nella stringa riconosciuta.
  • length
    Tipo: System.Int32%
    Lunghezza dell'intervallo di testo nella stringa riconosciuta.

Valore restituito

Tipo: Microsoft.Ink.ContextNodeCollection
Insieme di oggetti ContextNode discendenti rilevanti per l'intervallo di testo specificato nella stringa riconosciuta.

Note

L'intervallo di testo specificato deve essere relativo alla stringa riconosciuta di questo oggetto LineNode e non alla stringa riconosciuta dell'intero oggetto RootNode.

I parametri start e length sono riferimenti perché è possibile modificare i relativi valori. Se ad esempio il valore restituito di GetRecognizedString è "I am late" e si passano valori dei parametri start = 6 e length = 1, corrispondenti alla lettera "a", è probabile che ContextNodeCollection disponga di un solo oggetto ContextNode, ovvero l'oggetto InkWordNode che corrisponde alla parola "late". In questo caso, il valore di start verrà modificato in 5 e il valore di length in 4, per creare una corrispondenza con l'intera parola "late".

Esempi

Nell'esempio seguente viene utilizzato un oggetto TextBox, selectedResultsTextBox, la cui proprietà TextBox.Text è stata in precedenza impostata sul valore restituito da GetRecognizedString per LineNode, line. L'utente ha selezionato del testo nell'oggetto TextBox. Nel codice di esempio viene utilizzata la selezione e viene contrassegnato l'oggetto Strokes che corrisponde a tale selezione.

' Find out what's been selected in the text box
Dim start As Integer = selectedResultsTextBox.SelectionStart
Dim length As Integer = selectedResultsTextBox.SelectionLength

' Return if no text is selected.
If start = 0 Then
    Return
End If

' Get the nodes that correspond to that range
Dim selectedNodes As ContextNodeCollection
selectedNodes = line.GetNodesFromTextRange(start, length)

' Use the new start and length value to update the
' selection in the TextBox
selectedResultsTextBox.SelectionStart = start
selectedResultsTextBox.SelectionLength = length

' Color the strokes red if part of the selected words.
' Otherwise, color them black.
For Each node As ContextNode In line.SubNodes
    Dim inkStroke As Stroke
    For Each inkStroke In node.Strokes
        If selectedNodes.Contains(node) Then
            inkStroke.DrawingAttributes = New DrawingAttributes(Color.Red)
        Else
            inkStroke.DrawingAttributes = New DrawingAttributes(Color.Black)
        End If
    Next inkStroke
Next node
                    // Find out what's been selected in the text box
                    int start = selectedResultsTextBox.SelectionStart;
                    int length = selectedResultsTextBox.SelectionLength;

                    // Return if no text is selected.
                    if (length == 0)
                        return;

                    // Get the nodes that correspond to that range
                    ContextNodeCollection selectedNodes =
                        line.GetNodesFromTextRange(ref start, ref length);

                    // Use the new start and length value to update the
                    // selection in the TextBox
                    selectedResultsTextBox.SelectionStart = start;
                    selectedResultsTextBox.SelectionLength = length;

                    // Color the strokes red if part of the selected words.
                    // Otherwise, color them black.
                    foreach (ContextNode node in line.SubNodes)
                    {
                        foreach (Stroke stroke in node.Strokes)
                        {
                            if (selectedNodes.Contains(node))
                            {
                                stroke.DrawingAttributes =
                                    new DrawingAttributes(Color.Red);
                            }
                            else
                            {
                                stroke.DrawingAttributes =
                                    new DrawingAttributes(Color.Black);
                            }
                        }
                    }

Piattaforme

Windows Vista

.NET Framework e .NET Compact Framework non supportano tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Informazioni sulla versione

.NET Framework

Supportato in: 3.0

Vedere anche

Riferimenti

LineNode Classe

Membri LineNode

Overload GetNodesFromTextRange

Spazio dei nomi Microsoft.Ink