using CodingCannon.Pages.Basic; namespace CodingCannon { public partial class CcMainForm : Form { public CcMainForm() { InitializeComponent(); } private void CcMainForm_Shown(object sender, EventArgs e) { foreach (var type in typeof(CcUserControlBase).Assembly.GetTypes().Where(p => typeof(CcUserControlBase) != p && typeof(CcUserControlBase).IsAssignableFrom(p) ).OrderBy(p => p.Name)) { var ctl = (CcUserControlBase)Activator.CreateInstance(type)!; ctl.Dock = DockStyle.Fill; var page = new TabPage(ctl.Text); tabControl1.TabPages.Add(page); page.Controls.Add(ctl); } } } }