我需要链接单选按钮,因为它们不在同一容器中,所以我想将它们添加到列表中并处理它们的CheckedChanged
事件
private List<RadioButton> Buttons = new List<RadioButton>();
public void Add( RadioButton button ) {
button.CheckedChanged += button_CheckedChanged;
Buttons.Add( button );
}
private void button_CheckedChanged( object sender, EventArgs e ) {
var button = sender as RadioButton;
if( button == null || button.Checked == false )
return;
foreach( var btn in Buttons ) {
if( btn != button )
button.Checked = false;
}
}
当我点击一个单选按钮时,它保持未选中状态,知道为什么?
答案 0 :(得分:4)
不应该
foreach( var btn in Buttons ) {
if( btn != button )
btn.Checked = false;
}
答案 1 :(得分:0)
可能是一个愚蠢的问题,但你将AutoCheck属性设置为true,对吗?如果设置为false,则单击时不会检查单选按钮。
button.AutoCheck = true;
或者您可以在设计器的属性窗口中更改它。