识别尚未使用的数组中的索引

时间:2015-04-29 19:00:54

标签: c# indexing

好的,所以我创建了一个包含四个按钮的数组,当单击其中一个按钮时,背景颜色将会改变,并且该按钮的值将存储在变量中。但是,如果单击另一个按钮,那么我希望最初单击的按钮恢复为原来的背景颜色,而新按钮将更改其背景颜色。即一次只能选择一个按钮'。在我有这个的那一刻:

btn[0].BackColor = Color.DimGray;
btn[1].BackColor = Color.DimGray;
btn[2].BackColor = Color.DimGray;
btn[3].BackColor = Color.DimGray;
btn[selectedIndex].BackColor = Color.Lime;

我想知道是否有办法让我隔离未被选中的索引并将它们全部设置回相同的颜色,而不必多次修复同一行代码,我只是问,因为那里界面上还有17个按钮,看起来很糟糕。

1 个答案:

答案 0 :(得分:2)

您可以在一个for循环中设置它们,如下所示:

for (var i = 0 ; i != btn.Length ; i++) {
    btn[i].BackColor = (i == selectedIndex)
                     ? Color.Lime
                     : Color.DimGray;
}

循环中的条件将i(当前索引)与selectedIndex进行比较,并确定按钮的背景是设置为灰色还是灰色。