zelosam Ответов: 1

C# как отобразить кнопку массива случайных генераторов в форме панели load


У меня есть кнопка случайного генератора массива.я хочу отобразить его внутри панели при загрузке формы...?

Что я уже пробовал:

int maxRows = 10;

            int maxCols = 10;

            Button[,] b_Array = new Button[maxRows, maxCols];

            for (int i = 0; i < maxRows; i++)

            {

                for (int j = 0; j < maxCols; j++)

                {

                    b_Array[i, j] = new Button();

                    b_Array[i, j].Size = new Size(40, 55);

                    b_Array[i, j].Location = new Point(55 + j * 35, 55 + i * 55);

                    this.Controls.Add(b_Array[i, j]);

                }

            }

[no name]

Ладно... и? У вас был реальный вопрос? У вас есть проблема, с которой вы хотели бы, чтобы мы вам помогли? Мы здесь не умеем читать мысли.

zelosam

мой вопрос в том, что я не знаю, как отобразить его на панели. я упаковываю панель в ящик на форме 1

[no name]

Добавьте свои кнопки на панель.

1 Ответов

Рейтинг:
9

OriginalGriff

Код, который вы показываете, должен работать: но он добавляет кнопки к this ссылка, которая является текущим экземпляром содержащего класса-обычно это будет ваша текущая форма.
Чтобы добавить их в свою панель вместо формы, просто измените:

this.Controls.Add(b_Array[i, j]);
К:
myPanel.Controls.Add(b_Array[i, j]);

Но то, как я бы это сделал, немного отличается:
Button[] buttons = new Button[maxRows * maxCols];
int index = 0;
for (int i = 0; i < maxRows; i++)
    {
    for (int j = 0; j < maxCols; j++)
        {
        Button b = new Button();
        b.Size = new Size(40, 55);
        b.Location = new Point(55 + j * 35, 55 + i * 55);
        buttons[index++] = b;
        }
    }
myPanel.Controls.AddRange(buttons);


zelosam

Большое вам спасибо! именно то, что мне нужно.

OriginalGriff

Пожалуйста!