AutomationElement.FindFirst(TreeScope, Condition) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Gibt das erste untergeordnete Element oder Nachfolgerelement zurück, das die angegebene Bedingung erfüllt.
public:
System::Windows::Automation::AutomationElement ^ FindFirst(System::Windows::Automation::TreeScope scope, System::Windows::Automation::Condition ^ condition);
public System.Windows.Automation.AutomationElement FindFirst (System.Windows.Automation.TreeScope scope, System.Windows.Automation.Condition condition);
member this.FindFirst : System.Windows.Automation.TreeScope * System.Windows.Automation.Condition -> System.Windows.Automation.AutomationElement
Public Function FindFirst (scope As TreeScope, condition As Condition) As AutomationElement
Parameter
- scope
- TreeScope
Eine bitweise Kombination von Werten, die den Umfang der Suche angibt.
- condition
- Condition
Das Objekt, das die zu erfüllenden Kriterien enthält.
Gibt zurück
Das erste Element, das die Bedingung erfüllt, oder null
, wenn keine Übereinstimmung gefunden wird.
Beispiele
Das folgende Beispiel zeigt, wie Sie ein untergeordnetes Fenster über seinen Bezeichner finden.
/// <summary>
/// Find a UI Automation child element by ID.
/// </summary>
/// <param name="controlName">Name of the control, such as "button1"</param>
/// <param name="parentElement">Parent element, such as an application window, or the
/// AutomationElement.RootElement when searching for the application window.</param>
/// <returns>The UI Automation element.</returns>
private AutomationElement FindChildElement(String controlName, AutomationElement rootElement)
{
if ((controlName == "") || (rootElement == null))
{
throw new ArgumentException("Argument cannot be null or empty.");
}
// Set a property condition that will be used to find the main form of the
// target application. In the case of a WinForms control, the name of the control
// is also the AutomationId of the element representing the control.
Condition propCondition = new PropertyCondition(
AutomationElement.AutomationIdProperty, controlName, PropertyConditionFlags.IgnoreCase);
// Find the element.
return rootElement.FindFirst(TreeScope.Element | TreeScope.Children, propCondition);
}
''' <summary>
''' Find a UI Automation child element by ID.
''' </summary>
''' <param name="controlName">Name of the control, such as "button1"</param>
''' <param name="rootElement">Parent element, such as an application window, or the
''' AutomationElement.RootElement when searching for the application window.</param>
''' <returns>The UI Automation element.</returns>
Private Function FindChildElement(ByVal controlName As String, ByVal rootElement As AutomationElement) _
As AutomationElement
If controlName = "" OrElse rootElement Is Nothing Then
Throw New ArgumentException("Argument cannot be null or empty.")
End If
' Set a property condition that will be used to find the main form of the
' target application. In the case of a WinForms control, the name of the control
' is also the AutomationId of the element representing the control.
Dim propCondition As New PropertyCondition(AutomationElement.AutomationIdProperty, _
controlName, PropertyConditionFlags.IgnoreCase)
' Find the element.
Return rootElement.FindFirst(TreeScope.Element Or TreeScope.Children, propCondition)
End Function 'FindChildElement
Hinweise
Der Bereich der Suche ist relativ zum Element, für das die -Methode aufgerufen wird.
Wenn Sie nach einem Fenster der obersten Ebene auf dem Desktop suchen, müssen Sie in scope
angebenChildren, nicht Descendants. Eine Suche durch die gesamte Teilstruktur des Desktops könnte Tausende von Elementen durchlaufen und zu einem Stapelüberlauf führen.
Wenn Ihre Clientanwendung möglicherweise versucht, Elemente in ihrer eigenen Benutzeroberfläche zu finden, müssen Sie alle Benutzeroberflächenautomatisierung Aufrufe in einem separaten Thread ausführen.