如何创建一个事件来识别是否选中了多个单选按钮
本文关键字:是否 单选按钮 识别 一个 何创建 创建 事件 | 更新日期: 2023-09-27 18:02:58
我有以下代码检查每个单选按钮(Temp30, Temp40和Temp60),并做必要的事情,如打开洗涤温度灯等…
我想创建一个处理所有3个单选按钮的事件。我想这可能和他们所在的分组盒有关。(叫做TempGroupBox)
任何帮助将非常感激!
private void Temp30_CheckedChanged(object sender, EventArgs e)
{
if (Temp30.Checked)
{
MainDisplayLabel.Text = (" SELECT SPIN SPEED");
WashTempLight.Visible = true;
WashTempLight.Image = Properties.Resources._30degrees;
SpeedGroupBox.Enabled = true;
}
}
private void Temp40_CheckedChanged(object sender, EventArgs e)
{
if (Temp40.Checked)
{
MainDisplayLabel.Text = (" SELECT SPIN SPEED");
WashTempLight.Visible = true;
WashTempLight.Image = Properties.Resources._40degrees;
SpeedGroupBox.Enabled = true;
}
}
private void Temp60_CheckedChanged(object sender, EventArgs e)
{
if (Temp60.Checked)
{
MainDisplayLabel.Text = (" SELECT SPIN SPEED");
WashTempLight.Visible = true;
WashTempLight.Image = Properties.Resources._60degrees;
SpeedGroupBox.Enabled = true;
}
}
您可以将所有radioButton的事件绑定到相同的处理程序,并使用sender
参数来获取操作所针对的控件。
private void Temps_CheckedChanged(object sender, EventArgs e)
{
string checkedName = ((RadioButton)sender).Name;
if(checkedName == "Temp40")
{
...
}
else if(checkedName == "Temp60")
{
...
}
}
您可以添加事件处理程序的所有RadioBUttons的InitializeComponent()
之后:
var radioButtons =this.Controls.OfType<RadioButton>();
foreach (RadioButton item in radioButtons)
{
item.CheckedChanged += Temps_CheckedChanged;
}