Hello Scott,
Please take a look at the following example:
using
System.Windows.Forms;
using
Telerik.WinControls.UI;
public
partial
class
Form1 : Form
{
private
FlowLayoutPanel flowPanel;
private
bool
localChange;
public
Form1()
{
InitializeComponent();
flowPanel =
new
FlowLayoutPanel();
flowPanel.Dock = DockStyle.Fill;
this
.Controls.Add(flowPanel);
for
(
int
i = 0; i < 10; i++)
{
var checkBox =
new
RadCheckBox();
checkBox.ToggleStateChanged +=
new
StateChangedEventHandler(radCheckBox_ToggleStateChanged);
checkBox.Text =
"CheckBox"
+ i;
flowPanel.Controls.Add(checkBox);
}
}
void
radCheckBox_ToggleStateChanged(
object
sender, StateChangedEventArgs args)
{
if
(localChange)
{
return
;
}
ToggleState(sender
as
RadCheckBox);
}
private
void
ToggleState(RadCheckBox radCheckBox)
{
localChange =
true
;
foreach
(var control
in
flowPanel.Controls)
{
var checkBox = control
as
RadCheckBox;
if
(checkBox !=
null
&& checkBox != radCheckBox && checkBox.ToggleState != Telerik.WinControls.Enumerations.ToggleState.Off)
{
checkBox.ToggleState = Telerik.WinControls.Enumerations.ToggleState.Off;
}
}
localChange =
false
;
}
}
Hope this helps, if you have any other questions or comments, please let me know,
Best Regards,
Emanuel Varga
Telerik WinForms MVP