Edit

Share via


TogglePattern.Toggle Method

Definition

Cycles through the toggle states of an AutomationElement.

public:
 void Toggle();
public void Toggle ();
member this.Toggle : unit -> unit
Public Sub Toggle ()

Examples

In the following example, a TogglePattern control pattern is obtained from an AutomationElement and is subsequently used to toggle the AutomationElement.

///--------------------------------------------------------------------
/// <summary>
/// Obtains a TogglePattern control pattern from an automation element.
/// </summary>
/// <param name="targetControl">
/// The automation element of interest.
/// </param>
/// <returns>
/// A TogglePattern object.
/// </returns>
///--------------------------------------------------------------------
private TogglePattern GetTogglePattern(AutomationElement targetControl)
{
    TogglePattern togglePattern = null;

    try
    {
        togglePattern =
            targetControl.GetCurrentPattern(TogglePattern.Pattern)
            as TogglePattern;
    }
    catch (InvalidOperationException)
    {
        // object doesn't support the TogglePattern control pattern
        return null;
    }

    return togglePattern;
}
'''--------------------------------------------------------------------
''' <summary>
''' Obtains a TogglePattern control pattern from an automation element.
''' </summary>
''' <param name="targetControl">
''' The automation element of interest.
''' </param>
''' <returns>
''' A TogglePattern object.
''' </returns>
'''--------------------------------------------------------------------
Private Function GetTogglePattern( _
ByVal targetControl As AutomationElement) As TogglePattern
    Dim togglePattern As TogglePattern = Nothing

    Try
        togglePattern = DirectCast( _
        targetControl.GetCurrentPattern(togglePattern.Pattern), _
        TogglePattern)
    Catch
        ' object doesn't support the TogglePattern control pattern
        Return Nothing
    End Try

    Return togglePattern

End Function 'GetTogglePattern
///--------------------------------------------------------------------
/// <summary>
/// Calls the TogglePattern.Toggle() method for an associated 
/// automation element.
/// </summary>
/// <param name="togglePattern">
/// The TogglePattern control pattern obtained from
/// an automation element.
/// </param>
///--------------------------------------------------------------------
private void ToggleElement(TogglePattern togglePattern)
{
    try
    {
        togglePattern.Toggle();
    }
    catch (InvalidOperationException)
    {
        // object is not able to perform the requested action
        return;
    }
}
'''--------------------------------------------------------------------
''' <summary>
''' Calls the TogglePattern.Toggle() method for an associated 
''' automation element.
''' </summary>
''' <param name="togglePattern">
''' The TogglePattern control pattern obtained from
''' an automation element.
''' </param>
'''--------------------------------------------------------------------
Private Sub ToggleElement(ByVal togglePattern As TogglePattern)
    Try
        togglePattern.Toggle()
    Catch
        ' object is not able to perform the requested action
        Return
    End Try

End Sub

Remarks

A control will cycle through its ToggleState in this order: On, Off and, if supported, Indeterminate.

Applies to