Для організації елементів управління в пов'язані групи існують спеціальні елементи - контейнери. Наприклад, Panel, FlowLayoutPanel, SplitContainer, GroupBox. Ту ж форму також можна віднести до контейнерів. Використання контейнерів полегшує управління елементами, а також надає формі певний візуальний стиль.
Всі контейнери мають властивість Controls, яке містить всі елементи даного контейнера. Коли ми переносимо який-небудь елемент з панелі інструментів на контейнер, наприклад, кнопку, вона автоматично додається в дану колекцію даного контейнера. Або ми також можемо додати елемент керування динамічно за допомогою коду в цю ж колекцію.
Динамічне додавання елементів
Додамо на форму кнопку динамічно. Для цього додамо подія завантаження форми, в якому буде створюватися новий елемент управління.
Це можна зробити або за допомогою коду, або візуальним образом.
private void Form1_Load(object sender, EventArgs e)
{
}
Тепер додамо в нього код додавання кнопки на форму:
private void Form1_Load(object sender, EventArgs e){ Button helloButton = new Button(); helloButton.BackColor = Color.LightGray; helloButton.ForeColor = Color.DarkGray; helloButton.Location = new Point(10, 10); helloButton.Text = "Привет"; this.Controls.Add(helloButton);}Спочатку ми створюємо кнопку і встановлюємо її властивості. Потім, використовуючи метод Controls.Add ми додаємо її в колекцію елементів форми. Якби ми це не зробили, ми б кнопку не побачили, оскільки в цьому випадку для нашої форми її просто не існувало б.
this.Controls.Remove(helloButton);
Хоча в даному випадку в якості контейнера використовувалася форма, але при додаванні і видаленні елементів з будь-якого іншого контейнера, наприклад, GroupBox, буде застосовуватися всі ті ж методи.








