我创建了一个自定义button control
,并希望它的行为类似于组中的RadioButtons
。该按钮将被放置在同一container
或panel
上的一组或同一类型的集合中(将按钮拖放到容器上)。当我单击这些按钮中的任何一个时,我需要进行以下操作:
将单击按钮的BackColor
更改为预定义的颜色:Color.Cycan;
将点击按钮的选中状态从false
设置为true
确保同一面板/容器上的所有其他相同类型的按钮均设置为默认设置,这些默认设置是:BackColor = Color.Gray;
checked = false;
我已经尝试了以下code
,但我得到了这个结果:
单击的按钮的BackColor
已成功更改为Color.Cycan;
已将同一容器上相同类型的所有其他按钮的默认BackColor
成功设置为默认:Color.Gray;
但是单击的按钮的checked state
不会更改为true.
,它仍然是false.
我在下面附加了我尝试过的代码:
可能是问题所在,或者我在哪里缺少要点?
这是Winform / Windows Forms
按钮控件,我正在C#.
中编程
我不想为此使用单选按钮,因为我具有自定义设计的MyButton
。
谢谢。
这是我尝试过的代码:] >>
//调用'ClickedButton();'点击事件。
private bool checked = false;
private void ClickedButton()
{
do(
BackColor = Color.Cycan;
checked = true;
if(Parent == null)
break;
foreach(MyButton button in Parent.Controls.OfType<MyButton>())
{
if(button == this) { continue }
else{
BackColor = Color.Gray;
checked = false;
}
}
)
while(false)
}
我制作了一个自定义按钮控件,希望它的行为类似于组中的RadioButtons。该按钮将被放置在同一容器或面板上的同一类型的组或集合中(按钮...
如何使用此方法?