IToggleProvider.Toggle Method  
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Cycles through the toggle states of a control.
public:
 void Toggle();
	public void Toggle();
	abstract member Toggle : unit -> unit
	Public Sub Toggle ()
	Examples
The following example shows one possible implementation of this method for a custom control that can be toggled.
/// <summary>
/// Toggles the control.
/// </summary>
/// <remarks>
/// For this custom control the toggle state is reflected by the color 
/// of the control. This is analogous to the CheckBox IsChecked property.
/// Green   - ToggleState.On
/// Red     - ToggleState.Off
/// Yellow  - ToggleState.Indeterminate
/// </remarks>
void IToggleProvider.Toggle()
{
    ToggleState toggleState =
        customControl.toggleStateColor[customControl.controlColor];
    // Invoke control method on separate thread to avoid clashing with UI.
    // Use anonymous method for simplicity.
    this.customControl.Invoke(new MethodInvoker(delegate ()
    {
        if (toggleState == ToggleState.On)
        {
            customControl.controlColor = Color.Red;
        }
        else if (toggleState == ToggleState.Off)
        {
            customControl.controlColor = Color.Yellow;
        }
        else if (toggleState == ToggleState.Indeterminate)
        {
            customControl.controlColor = Color.Green;
        }
        customControl.Refresh();
    }));
}
''' <summary>
''' Toggles the control.
''' </summary>
''' <remarks>
''' For this custom control the toggle state is reflected by the color 
''' of the control. This is analogous to the CheckBox IsChecked property.
''' Green   - ToggleState.On
''' Red     - ToggleState.Off
''' Yellow  - ToggleState.Indeterminate
''' </remarks>
Private Sub Toggle() Implements IToggleProvider.Toggle
    Dim toggleState As ToggleState = customControl.toggleStateColor(customControl.controlColor)
    ' Invoke control method on separate thread to avoid clashing with UI.
    ' Use anonymous method for simplicity.
    Me.customControl.Invoke(New MethodInvoker(Sub()
                                                  If toggleState = Windows.Automation.ToggleState.On Then
                                                      customControl.controlColor = Color.Red
                                                  ElseIf toggleState = Windows.Automation.ToggleState.Off Then
                                                      customControl.controlColor = Color.Yellow
                                                  ElseIf toggleState = Windows.Automation.ToggleState.Indeterminate Then
                                                      customControl.controlColor = Color.Green
                                                  End If
                                                  customControl.Refresh()
                                              End Sub))
End Sub
	Remarks
A control must cycle through its toggle states in this order: On, Off, and (if supported) Indeterminate.