У меня, кажется, есть какая-то странная проблема, которая, я уверен, окажется простой. У меня есть форма Windows, и на форме у меня есть 1 панель с именем MainPanel и внутри MainPanel, у меня есть другая панель с кнопкой внутри и надписью, которая находится внутри MainPanel, но не на второй панели. 2 элемента управления. Я пытаюсь скопировать все элементы управления в MainPanel на другой объект панели. Я использую следующий код C # для этого:
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 только один раз. Что мне здесь не хватает?