У меня, кажется, какая-то странная проблема, и я уверен, что это будет просто. У меня есть форма Windows, и в форме у меня есть 1 панель под названием MainPanel и внутри MainPanel, у меня есть еще одна панель с кнопкой внутри и метка, которая находится внутри MainPanel, но не во второй панели. 2. То, что я пытаюсь сделать, это скопировать все элементы управления внутри MainPanel на другой объект панели. Я использую следующие C# код, чтобы сделать это:Итерация через элементы управления в форме Windows
GUIPanel gp = new GUIPanel();
foreach (System.Windows.Forms.Control ctrl in gp.Controls["MainPanel"].Controls)
{
m_OptionsControl.Controls.Add(ctrl);
}
Когда я запускаю этот код, он копирует панель с кнопкой, а не ярлык. Что еще более странно, когда я устанавливаю точку останова и запускаю ее через отладчик, и я набираю «? Gp.Controls [« MainPanel »]. Controls.Count» в ближайшем окне, он возвращает 2, как и должно. Однако при переходе через код он выполняет цикл foreach только один раз. Что мне здесь не хватает?
Moving является то, что я хочу. У вас есть пример того, что вы подразумеваете под обратным циклом? – Icemanind
@icemanind: Здесь вы идете. – SLaks
Вы не имеете в виду i--? – jjxtra