Итак ... Я пытаюсь запрограммировать небольшую игру на C# (mastermind), и у меня есть 4 разные панели и 4 разных поля со списком, и, например, я хочу, чтобы у Pane1 был тот же самый задний цвет, что и у выбранного цвета. в ComboBox1. сейчас я сделал это со списком, но я хотел бы знать, есть ли лучший / более короткий способ сделать это.
private void Suggestion_Box_SelectedIndexChanged(object sender, EventArgs e)
{
List<ComboBox> boxes = new List<ComboBox>()
{
Suggestion_Box1,
Suggestion_Box2,
Suggestion_Box3,
Suggestion_Box4
};
var i = 0;
foreach (ComboBox cb in boxes)
{
if (cb.SelectedIndex != -1)
{
cb.BackColor = Color.FromName(All_Colors[cb.SelectedIndex]);
Suggestion_Panel1.BackColor = Suggestion_Box1.BackColor;
Suggestion_Panel2.BackColor = Suggestion_Box2.BackColor;
Suggestion_Panel3.BackColor = Suggestion_Box3.BackColor;
Suggestion_Panel4.BackColor = Suggestion_Box4.BackColor;
}
}
}
Массив "All_Colors" - это строковый массив с различными цветами в нем. Ящики для предложений - это комбинированные окна, а Панель предложений - это панели.