コード例 #1
0
        /// <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;
        }