Как редактировать сразу несколько Label'ов в C# WindowsForms?
Пишу игру 2048. Решил сделать клетки используя Label. Не хочется постоянно для каждого отдельного label прописывать один и тот же параметр. Можно ли как-нибудь объединить их в одну группу и редактировать сразу все, либо же есть какая-то фишка для быстрого редактирования?
А то приходится делать вот так:
label1.Text = ""; label2.Text = ""; label3.Text = ""; label4.Text = "";
label5.Text = ""; label6.Text = ""; label7.Text = ""; label8.Text = "";
label9.Text = ""; label10.Text = ""; label11.Text = ""; label12.Text = "";
label13.Text = ""; label14.Text = ""; label15.Text = ""; label16.Text = "";
Ответы (2 шт):
Автор решения: hxxdrich17
→ Ссылка
Разобрался.
Можно поместить Label в один массив:
List<Label> labels = new List<Label>() { label1, label2, label3, label4, label5, label6,
label7, label8, label9, label10, label11, label12, label13, label14, label15, label16 };
Перебирать их через цикл for:
for (int i = 0; i <= 15; i++)
{
labels[i].Text = "";
}
Автор решения: KuzCode
→ Ссылка
Можно просто поместить все лейблы на какой-то контрол, например панель panel1. Тогда все лейблы можно будет перебрать так:
foreach (var label in panel1.Controls.OfType<Label>())
label.Text = "";