New to Telerik UI for WinForms? Download free 30-day trial

Handling RadToggleButton States

Properties

The ToggleState property is responsible for getting or setting the state of RadToggleButton.

Events

You can handle the ToggleStateChanged event of RadToggleButton to take action when the user toggles the button. The event handler passes a StateChangedEventArgs parameter that includes a ToggleState member.

Handling the ToggleStateChanged event

void radToggleButton1_ToggleStateChanged(object sender, StateChangedEventArgs args)
{
    MessageBox.Show(args.ToggleState.ToString());
}

Private Sub radToggleButton1_ToggleStateChanged(ByVal sender As Object, ByVal args As Telerik.WinControls.UI.StateChangedEventArgs)
    MessageBox.Show(args.ToggleState.ToString())
End Sub

You can also handle the ToggleStateChanging event. This event provides an opportunity to cancel the toggle state change. The StateChangingEventArgs passed as a parameter to the event handler have NewValue and OldValue ToggleState members and a Boolean Cancel member. NewValue holds the value of ToggleState that will be applied when the event is completed without being canceled. OldValue holds the value of ToggleState at the time the state change was initiated. Cancel controls which value of ToggleState is applied when the event completes. The default is false. Setting the Canceled proeprty to true will prevent the ToggleStateChanged from firing and will leave the ToggleState value as it was prior to the event.

The example below allows a RadToggleButton to toggle only when a second RadToggleButton is off. If the second button toggle state is On and the NewValue is On, then the toggle is canceled. The ToggleStateChanged event only fires and changes the Text property when ToggleStateChanging does not cancel.

Handling the ToggleStateChanging event

private void radToggleButton2_ToggleStateChanging(object sender,
   Telerik.WinControls.UI.StateChangingEventArgs args)
{
    bool attemptingOn = args.NewValue ==
        Telerik.WinControls.Enumerations.ToggleState.On;
    args.Cancel = true;
}
private void radToggleButton2_ToggleStateChanged(object sender,
   Telerik.WinControls.UI.StateChangedEventArgs args)
{
    radToggleButton1.Text = args.ToggleState.ToString();
}

Private Sub radToggleButton2_ToggleStateChanging(ByVal sender As Object, ByVal args As Telerik.WinControls.UI.StateChangingEventArgs)
    args.Cancel = True
End Sub
Private Sub radToggleButton2_ToggleStateChanged(ByVal sender As Object, ByVal args As Telerik.WinControls.UI.StateChangedEventArgs)
    radToggleButton1.Text = args.ToggleState.ToString()
End Sub

Due to the specifics of the simple data binding we have introduced the CheckChanging / CheckChanged events together with the CheckState property. These events and property provide the same functionality as the ToggleStateChanged, ToggleStateChanging and the ToggleState property, but give you the ability to simple data bind the control.

In this article