IToggleProvider.Toggle Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Percorre os estados de alternância de um controle.
public:
void Toggle();
public void Toggle ();
abstract member Toggle : unit -> unit
Public Sub Toggle ()
Exemplos
O exemplo a seguir mostra uma possível implementação desse método para um controle personalizado que pode ser alternado.
/// <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
Comentários
Um controle deve percorrer seus estados de alternância nesta ordem: On, Offe (se houver suporte) Indeterminate.