共用方式為


InkAnalyzer.FindNodes 方法 (MatchesCriteriaCallback, Object, ContextNode)

傳回 ContextNode 物件,這些物件為所指定 ContextNode 的子代而且符合指定的準則。

命名空間:  Microsoft.Ink
組件:  Microsoft.Ink.Analysis (在 Microsoft.Ink.Analysis.dll 中)

語法

'宣告
Public Function FindNodes ( _
    criteria As MatchesCriteriaCallback, _
    data As Object, _
    nodeToSearch As ContextNode _
) As ContextNodeCollection
'用途
Dim instance As InkAnalyzer
Dim criteria As MatchesCriteriaCallback
Dim data As Object
Dim nodeToSearch As ContextNode
Dim returnValue As ContextNodeCollection

returnValue = instance.FindNodes(criteria, _
    data, nodeToSearch)
public ContextNodeCollection FindNodes(
    MatchesCriteriaCallback criteria,
    Object data,
    ContextNode nodeToSearch
)
public:
ContextNodeCollection^ FindNodes(
    MatchesCriteriaCallback^ criteria, 
    Object^ data, 
    ContextNode^ nodeToSearch
)
public ContextNodeCollection FindNodes(
    MatchesCriteriaCallback criteria,
    Object data,
    ContextNode nodeToSearch
)
public function FindNodes(
    criteria : MatchesCriteriaCallback, 
    data : Object, 
    nodeToSearch : ContextNode
) : ContextNodeCollection

參數

  • data
    型別:System.Object
    可傳至委派函式的其他選擇性資料。這個方法會隨每次呼叫將這項資料傳遞至委派,而且不會進行修改或檢查。

傳回值

型別:Microsoft.Ink.ContextNodeCollection
包含所有 ContextNode 物件的 ContextNodeCollection,這些物件為所指定節點的子代,而且符合指定的準則。

範例

下列範例會在 InkAnalyzer (theInkAnalyzer) 中,尋找滿足 LineIsLowerThan 委派中所指定準則的 ContextNode 物件集合。會將 32 位元帶正負號的整數 yValue 傳至 LineIsLowerThan 委派。搜尋會限於 WritingRegionNode (writingRegion) 的子代。

Dim isLineLowerThanCallback As _
    New Microsoft.Ink.MatchesCriteriaCallback(AddressOf LineIsLowerThan)
Dim nodesInRegionBelowYValue As ContextNodeCollection = _
    theInkAnalyzer.FindNodes(isLineLowerThanCallback, yValue, writingRegion)
            Microsoft.Ink.MatchesCriteriaCallback
                isLineLowerThanCallback = new Microsoft.Ink.MatchesCriteriaCallback(LineIsLowerThan);
            ContextNodeCollection nodesInRegionBelowYValue =
                theInkAnalyzer.FindNodes(isLineLowerThanCallback, yValue, writingRegion);

下列範例會定義 LineIsLowerThan 方法,該方法會在 ContextNodeLineNode 且週框方塊底端低於傳入的整數時傳回 true (請注意,y 軸值越高,螢幕就越低)。因此,nodesBelowYValue 集合包含的所有行中,筆劃都會低於 yValue 值。

Public Function LineIsLowerThan(ByVal node As Microsoft.Ink.ContextNode, _
                                ByVal data As Object) As Boolean

    ' Return false if not a line
    If Not TypeOf node Is LineNode Then
        Return False
    End If
    ' Check if bottom is lower than yValue passed in
    Dim yValue As Integer = Fix(data)
    Return node.Location.GetBounds().Bottom > yValue

End Function 'LineIsLowerThan

        public bool LineIsLowerThan(Microsoft.Ink.ContextNode node, object data)
        {
            // Return false if not a line
            if (!(node is LineNode))
                return false;

            // Check if bottom is lower than yValue passed in
            int yValue = (int)data;
            return (node.Location.GetBounds().Bottom > yValue);
        }

平台

Windows Vista

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

版本資訊

.NET Framework

支援版本:3.0

請參閱

參考

InkAnalyzer 類別

InkAnalyzer 成員

FindNodes 多載

Microsoft.Ink 命名空間

InkAnalyzer.FindInkLeafNodes

InkAnalyzer.FindLeafNodes

InkAnalyzer.FindNode

InkAnalyzer.FindNodes

InkAnalyzer.FindNodesOfType