C# windows forms как сгруппировать несколько picture box в одну группу чтобы не тратить время на каждого,

Делаю лабиринт. Хочу все вместе объединить препятствия чтобы код не писать для каждого. Пытался через pannel, groupbox, ничего не понял. Можете мне объяснить на простом примере пожалуйста.введите сюда описание изображения


Ответы (1 шт):

Автор решения: SurfaceStack

"Объединить все 27 в один" здесь можно так: создать UserControl и наследовать его от стандартного PictureBox. После созданный элемент можно использовать как любой другой.

Так это будет выглядеть:

public class MyPictureBox : PictureBox
{
    // Какая-то логика
}

У класса-потомка если нужно, можно переопределить методы, которые есть у родителя (в данном случае - PictureBox). Чтобы так сделать - добавляем к методу override. Если хочется оставить стандартное поведение в дополнение к своему - в методе должен быть base.MethodName()

Например:

public class MyPictureBox : PictureBox
{
    protected override void OnPaint(PaintEventArgs e)
    {
        base.OnPaint(e);
        // Какая-то логика
    }

    // Или так:
    // protected override void OnPaint(PaintEventArgs e)
    // {
    //     // Какая-то логика
    // }
}
→ Ссылка