Как указать положение графического поля в панели управления вместо использования foreach?

#c# #winforms #panel #picturebox

Вопрос:

 foreach (PictureBox picture in panel1.Controls)
{                    
    if (count == 12)
    {
        break;
    }
    count = count   1;
    picture.Enabled = false;//disable clicking card
    points.Add(picture.Location);//card location in the panel
                    
}
 

Есть 24 коробки с картинками, я хочу выделить только положение первых 12 коробок с картинками.
Есть ли какие-либо способы, которые можно использовать, например, для цикла?

Комментарии:

1. вы можете получить первые 12 коробок с картинками panel1.Controls.Take(12).ToList()

2. Вы также можете просто использовать for цикл и попытаться получить управление из Controls коллекции, а затем вам не нужно будет выполнять какие-либо count проверки или изменения: w3schools.com/cs/cs_for_loop.php

Ответ №1:

Вы можете получить первые 12 коробок с картинками с петлей for:

 for (int i = 0; i < 12; i  )
{
    PictureBox pb = (PictureBox)panel1.Controls[i];
    // Do what you want with your picture box
}