IToggleProvider.Toggle Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Przechodzi przez przełączenie stanów kontrolki.
public:
void Toggle();
public void Toggle ();
abstract member Toggle : unit -> unit
Public Sub Toggle ()
Przykłady
W poniższym przykładzie pokazano jedną z możliwych implementacji tej metody dla niestandardowej kontrolki, która może być przełączana.
/// <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
Uwagi
Kontrolka musi przechodzić przez jego stany przełącznika w następującej kolejności: On, Offi (jeśli jest obsługiwana) Indeterminate.
Dotyczy
Zobacz też
Współpracuj z nami w serwisie GitHub
Źródło tej zawartości można znaleźć w witrynie GitHub, gdzie można również tworzyć i przeglądać problemy i żądania ściągnięcia. Więcej informacji znajdziesz w naszym przewodniku dla współtwórców.