我创建了一些条件,当有人点击我的单选按钮时会评估什么。
目前我有大约10个代码如下所示。 唯一的问题是102到103,104等等。
我的想法是跳过每个单片机点击的私人空白,并将其全部包含在一个普通人中。有没有一个很好的方法来实现这一目标? 谢谢你的建议。
private void rBtn102_Click(object sender, EventArgs e)
{
if (rBtn102.Checked == true)
{
sDepartment = "102";
updateExampleLabel();
updateChooseOffer();
}
}
答案 0 :(得分:3)
假设我们正在谈论System.Windows.Forms.RadioButton,您可以存储Tag property下每个RadioButton唯一的相关数据,并在附加到每个RadioButton.Click event的通用处理程序中查询该数据
private void rBtn102_Click(object sender, EventArgs e)
{
RadioButton rb = sender as RadioButton;
if (rb == null)
return; // This is error
if (rb.Checked)
{
sDepartment = (string)rb.Tag;
updateExampleLabel();
updateChooseOffer();
}
}
请务必先为表单设计器中的每个按钮指定一个合适的标记。
答案 1 :(得分:2)
这个怎么样?使用单个方法作为EventHandler并检查radiobuttons名称,
string sDepartment = "";
private void Form1_Load(object sender, EventArgs e)
{
rBtn_01.Click += new EventHandler(radio_Click);
rBtn_02.Click += new EventHandler(radio_Click);
}
public void radio_Click(object sender, EventArgs e) {
RadioButton tempButton = sender as RadioButton;
switch(tempButton.Name)
{
case "rBtn_02":
sDepartment = "102";
break;
case "rBtn_03":
sDepartment = "103";
break;
}
updateExampleLabel();
updateChooseOffer();
}
希望有所帮助,