共用方式為


RootNode.GetTextRangeFromNodes 方法

在已辨識的字串中尋找對應於 ContextNode 物件集合的文字範圍,這些物件都是 RootNode 的子代。

命名空間:  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 RootNode
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
)

參數

備註

如果 subTree 包含不屬於 RootNode 之子代的 ContextNode 物件,則會擲回 ArgumentException (英文) 例外狀況。

如果 subTree 參數包含不連續的 ContextNode 物件,則會傳回涵蓋所有 ContextNode 物件的最小文字範圍。

範例

下列範例會採用從 InkAnalyzer (theInkAnalyzer) 取得的 RootNode (theRootNode),並藉由選取具有最低界限的書寫區域來尋找最後一個 WritingRegionNode。接著會尋找對應於該書寫區域的文字範圍,將 GetRecognizedString 的值放入 TextBox (英文) (theResultsTextBox) 中,然後選取對應於該最後一個書寫區域的文字。

Dim theRootNode As RootNode = CType(theInkAnalyzer.RootNode, RootNode)
Dim regions As ContextNodeCollection = _
    theInkAnalyzer.FindNodesOfType(Microsoft.Ink.ContextNodeType.WritingRegion)
Dim lastRegion As WritingRegionNode = Nothing
Dim maxY As Integer = Integer.MinValue
Dim aRegion As WritingRegionNode
For Each aRegion In regions
    If aRegion.Location.GetBounds().Bottom > maxY Then
        maxY = aRegion.Location.GetBounds().Bottom
        lastRegion = aRegion
    End If
Next aRegion

If lastRegion Is Nothing Then
    Return
End If
' Create a collection to hold this line
Dim lastRegionCollection As New ContextNodeCollection(theInkAnalyzer)
lastRegionCollection.Add(lastRegion)

' Find corresponding start and length
Dim start, length As Integer
theRootNode.GetTextRangeFromNodes(lastRegionCollection, start, length)

' Select this in the text box
theResultsTextBox.Text = theRootNode.GetRecognizedString()
theResultsTextBox.Select(start, length)
            RootNode theRootNode = (RootNode)theInkAnalyzer.RootNode;
            ContextNodeCollection regions =
                theInkAnalyzer.FindNodesOfType(Microsoft.Ink.ContextNodeType.WritingRegion);
            WritingRegionNode lastRegion = null;
            int maxY = int.MinValue;
            foreach (WritingRegionNode region in regions)
            {
                if (region.Location.GetBounds().Bottom > maxY)
                {
                    maxY = region.Location.GetBounds().Bottom;
                    lastRegion = region;
                }
            }

            if (lastRegion == null)
                return;

            // Create a collection to hold this line
            ContextNodeCollection lastRegionCollection = 
                new ContextNodeCollection(theInkAnalyzer);
            lastRegionCollection.Add(lastRegion);

            // Find corresponding start and length
            int start, length;
            theRootNode.GetTextRangeFromNodes(lastRegionCollection, out start, out length);

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

平台

Windows Vista

.NET Framework 和 .NET Compact Framework 並不支援各種平台的所有版本。如需支援平台版本的相關資訊,請參閱 .NET Framework 系統需求

版本資訊

.NET Framework

支援版本:3.0

請參閱

參考

RootNode 類別

RootNode 成員

Microsoft.Ink 命名空間