Condividi tramite


TreeWalker.GetNextSibling Metodo

Definizione

Recupera il successivo elemento di pari livello dell'oggetto AutomationElement specificato.

Overload

GetNextSibling(AutomationElement, CacheRequest)

Recupera il successivo elemento di pari livello dell'oggetto AutomationElement specificato e memorizza nella cache proprietà e pattern.

GetNextSibling(AutomationElement)

Recupera il successivo elemento di pari livello dell'oggetto AutomationElement specificato.

Commenti

Un AutomationElement oggetto può avere elementi di pari livello aggiuntivi che non corrispondono alla condizione di visualizzazione corrente e pertanto non vengono restituiti durante l'esplorazione dell'albero degli elementi.

La struttura dell'albero AutomationElement cambia come elementi dell'interfaccia utente visibile nella modifica del desktop. Non è garantito che un elemento restituito come elemento di pari livello successivo verrà restituito come il successivo fratello nei passaggi successivi.

GetNextSibling(AutomationElement, CacheRequest)

Recupera il successivo elemento di pari livello dell'oggetto AutomationElement specificato e memorizza nella cache proprietà e pattern.

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

Parametri

element
AutomationElement

Elemento dal quale recuperare il successivo elemento di pari livello.

request
CacheRequest

Oggetto richiesta di caching che specifica proprietà e pattern sull'oggetto AutomationElement restituito da memorizzare nella cache.

Restituisce

AutomationElement

Elemento successivo di pari livello, o riferimento Null (Nothing in Visual Basic) se tale elemento non esiste.

Commenti

Un AutomationElement oggetto può avere elementi di pari livello aggiuntivi che non corrispondono alla condizione di visualizzazione corrente e pertanto non vengono restituiti durante l'esplorazione dell'albero degli elementi.

La struttura dell'albero AutomationElement cambia come elementi dell'interfaccia utente visibile nella modifica del desktop. Non è garantito che un elemento restituito come elemento di pari livello successivo verrà restituito come il successivo fratello nei passaggi successivi.

Vedi anche

Si applica a

GetNextSibling(AutomationElement)

Recupera il successivo elemento di pari livello dell'oggetto AutomationElement specificato.

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

Parametri

element
AutomationElement

Oggetto AutomationElement dal quale recuperare il successivo oggetto di pari livello.

Restituisce

AutomationElement

Elemento successivo di pari livello, o riferimento Null (Nothing in Visual Basic) se tale elemento non esiste.

Esempio

Nell'esempio seguente viene illustrato GetNextSibling come creare una visualizzazione albero degli elementi in un sottoalbero.

/// <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

Commenti

Un AutomationElement oggetto può avere elementi di pari livello aggiuntivi che non corrispondono alla condizione di visualizzazione corrente e pertanto non vengono restituiti durante l'esplorazione dell'albero degli elementi.

La struttura dell'albero AutomationElement cambia come elementi dell'interfaccia utente visibile nella modifica del desktop. Non è garantito che un elemento restituito come elemento di pari livello successivo verrà restituito come il successivo fratello nei passaggi successivi.

Vedi anche

Si applica a