/// <summary> /// Adds a page to the <see cref="WizardPageControl"/>. Throws an exception if the given <see cref="UserControl"/> does not implement <see cref="IWizardPage"/> /// </summary> /// <param name="page"></param> /// <param name="defaultState"></param> public void Add(UserControl page, WizardNavigator.WizardNavigatorState defaultState = WizardNavigator.WizardNavigatorState.Clean) { if (!(page is IWizardPage)) { throw new ArgumentException("ERROR: Given page does not extend IWizardPage", "page"); } page.Location = new Point(0, 0); page.Top = 0; page.Left = 0; page.Visible = false; page.BackColor = Color.Transparent; page.Dock = DockStyle.Fill; MainLayout.Controls.Add(page); MainLayout.SetRow(page, 0); MainLayout.SetColumn(page, 0); pageControls.Add(page); defaultNavigatorStates.Add(pageControls.Count - 1, defaultState); ((IWizardPage)page).InvalidatePage += WizardPageControl_InvalidatePage; }