我正在构建一个游戏,其中一个“机制”是通过点击三个ImageButtons中的一个(代表一个Drill,一个Hammer和一个Brush)来选择一个工具。
我想标记所选的单击按钮,但直到我通过选择第二个来切换工具。有没有取消选择/选择按钮的干净方法?
当前代码:
if (drillbutton.Selected)
{
brushbutton.Selected = false;
hammerbutton.Selected = false;
}
else if(hammerbutton.Selected)
{
drillbutton.Selected = false;
brushbutton.Selected = false;
}
else if(brushbutton.Selected)
{
drillbutton.Selected = false;
hammerbutton.Selected = false;
}
必须有一种更简单的方法......对吗?
答案 0 :(得分:0)
您可以为每个按钮分配相同的点击处理程序,如下所示:
private void SelectButton(object sender, EventArgs args) {
// you will have to have an IEnumerable that contains your set of buttons
foreach(var b in buttons) {
if (b == (Button)selected) b.Selected = true else b.Selected = false;
}
}