Использовать пользовательский контроль. Смотрите этот учебник .
Во время выполнения вы можете изменить содержимое пользовательского элемента управления. В каждом пользовательском элементе управления есть коллекция Controls, из которой вы можете добавлять или удалять элементы. Например, если вы хотите добавить флажки, просто сделайте что-нибудь вроде этого:
myUserControl.Controls.Add(new CheckBox());
Аналогичным образом элементы могут быть удалены из этой коллекции, что обеспечивает динамическое поведение.