共用方式為


TreeWalker.GetFirstChild 方法

定義

擷取所指定 AutomationElement 的第一個子項目。

多載

GetFirstChild(AutomationElement)

擷取所指定 AutomationElement 的第一個子項目。

GetFirstChild(AutomationElement, CacheRequest)

擷取指定之 AutomationElement 的第一個子項目並快取屬性和模式。

備註

AutomationElement可以有不符合目前檢視條件的其他子專案,因此在巡覽專案樹狀結構時不會傳回。

樹狀結構 AutomationElement 會隨著可見的使用者介面變更而變更, (UI) 元素變更。 不保證當做第一個子項目傳回的專案,將會在後續傳遞時當做第一個子系傳回。

GetFirstChild(AutomationElement)

擷取所指定 AutomationElement 的第一個子項目。

public:
 System::Windows::Automation::AutomationElement ^ GetFirstChild(System::Windows::Automation::AutomationElement ^ element);
public System.Windows.Automation.AutomationElement GetFirstChild (System.Windows.Automation.AutomationElement element);
member this.GetFirstChild : System.Windows.Automation.AutomationElement -> System.Windows.Automation.AutomationElement
Public Function GetFirstChild (element As AutomationElement) As AutomationElement

參數

element
AutomationElement

要從中擷取第一個子系的項目。

傳回

AutomationElement

第一個子項目,如果沒有此項目,則為 Null 參考 (在 Visual Basic 中為 Nothing)。

範例

下列範例顯示 GetFirstChild 用來建構子樹狀結構中專案的樹狀檢視。

/// <summary>
/// Walks the UI Automation tree and adds the control type of each element it finds 
/// in the control view to a TreeView.
/// </summary>
/// <param name="rootElement">The root of the search on this iteration.</param>
/// <param name="treeNode">The node in the TreeView for this iteration.</param>
/// <remarks>
/// This is a recursive function that maps out the structure of the subtree beginning at the
/// UI Automation element passed in as rootElement on the first call. This could be, for example,
/// an application window.
/// CAUTION: Do not pass in AutomationElement.RootElement. Attempting to map out the entire subtree of
/// the desktop could take a very long time and even lead to a stack overflow.
/// </remarks>
private void WalkControlElements(AutomationElement rootElement, TreeNode treeNode)
{
    // Conditions for the basic views of the subtree (content, control, and raw) 
    // are available as fields of TreeWalker, and one of these is used in the 
    // following code.
    AutomationElement elementNode = TreeWalker.ControlViewWalker.GetFirstChild(rootElement);

    while (elementNode != null)
    {
        TreeNode childTreeNode = treeNode.Nodes.Add(elementNode.Current.ControlType.LocalizedControlType);
        WalkControlElements(elementNode, childTreeNode);
        elementNode = TreeWalker.ControlViewWalker.GetNextSibling(elementNode);
    }
}
''' <summary>
''' Walks the UI Automation tree and adds the control type of each element it finds 
''' in the control view to a TreeView.
''' </summary>
''' <param name="rootElement">The root of the search on this iteration.</param>
''' <param name="treeNode">The node in the TreeView for this iteration.</param>
''' <remarks>
''' This is a recursive function that maps out the structure of the subtree beginning at the
''' UI Automation element passed in as rootElement on the first call. This could be, for example,
''' an application window.
''' CAUTION: Do not pass in AutomationElement.RootElement. Attempting to map out the entire subtree of
''' the desktop could take a very long time and even lead to a stack overflow.
''' </remarks>
Private Sub WalkControlElements(ByVal rootElement As AutomationElement, ByVal treeNode As TreeNode)
    ' Conditions for the basic views of the subtree (content, control, and raw) 
    ' are available as fields of TreeWalker, and one of these is used in the 
    ' following code.
    Dim elementNode As AutomationElement = TreeWalker.ControlViewWalker.GetFirstChild(rootElement)

    While (elementNode IsNot Nothing)
        Dim childTreeNode As TreeNode = treeNode.Nodes.Add(elementNode.Current.ControlType.LocalizedControlType)
        WalkControlElements(elementNode, childTreeNode)
        elementNode = TreeWalker.ControlViewWalker.GetNextSibling(elementNode)
    End While

End Sub

備註

AutomationElement可以有不符合目前檢視條件的其他子專案,因此在巡覽專案樹狀結構時不會傳回。

樹狀結構 AutomationElement 會隨著可見的使用者介面變更而變更, (UI) 元素變更。 不保證當做第一個子項目傳回的專案,將會在後續傳遞時當做第一個子系傳回。

另請參閱

適用於

GetFirstChild(AutomationElement, CacheRequest)

擷取指定之 AutomationElement 的第一個子項目並快取屬性和模式。

public:
 System::Windows::Automation::AutomationElement ^ GetFirstChild(System::Windows::Automation::AutomationElement ^ element, System::Windows::Automation::CacheRequest ^ request);
public System.Windows.Automation.AutomationElement GetFirstChild (System.Windows.Automation.AutomationElement element, System.Windows.Automation.CacheRequest request);
member this.GetFirstChild : System.Windows.Automation.AutomationElement * System.Windows.Automation.CacheRequest -> System.Windows.Automation.AutomationElement
Public Function GetFirstChild (element As AutomationElement, request As CacheRequest) As AutomationElement

參數

element
AutomationElement

要從中擷取第一個子系的項目。

request
CacheRequest

快取要求物件,指定要在傳回之 AutomationElement 中快取的屬性和模式。

傳回

AutomationElement

第一個子項目,如果沒有此項目,則為 Null 參考 (在 Visual Basic 中為 Nothing)。

備註

AutomationElement可以有不符合目前檢視條件的其他子專案,因此在巡覽專案樹狀結構時不會傳回。

樹狀結構 AutomationElement 會隨著可見的使用者介面變更而變更, (UI) 元素變更。 不保證當做第一個子項目傳回的專案,將會在後續傳遞時當做第一個子系傳回。

另請參閱

適用於