Я пытаюсь динамически создать список панелей, содержащих метку и текстовое поле, и поместить эти панели в большую панель.
Моя проблема в том, что на родительскую панель добавляется только первая дочерняя панель.
Я попытался добавить панели непосредственно в элементы управления, а также этот метод addrange.
Также мне известен еще один вопрос с этой проблемой, но ему шесть лет, и решение у меня не сработало.
Panel pnl заполняется Panel, содержащей метку и текстовое поле, которое уже находится в форме. эта панель затем удаляется из элементов управления и pnl остается
РЕДАКТИРОВАТЬ ДЛЯ УТОЧНЕНИЯ:
Код будет циклически повторяться несколько раз, но когда он достигнет panel1.Controls.AddRange(controls);
, общее количество элементов panel1.controls равно 1, независимо от длины элементов управления массивом
Panel pnl;
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
Control[] controls = new Control[8];
for (int i = 0; i < int.Parse(ddlPlayers.SelectedItem.ToString()); i++)
{
pnl.Name = "pnl " + i.ToString();
if (i!= 0)
pnl.Location = new Point(pnl.Location.X, controls[i - 1].Location.Y + Height);
pnl.Show();
controls[i] = pnl;
}
panel1.Controls.AddRange(controls);
}