Example #1
0
        private void WizardManager_Load(object sender, EventArgs e)
        {
            panelSheetPlaceHolder.Controls.Clear();
            panelSheetPlaceHolder.SuspendLayout();
            foreach (UserControl sheet in sheets)
            {
                sheet.Visible = false;
                sheet.Dock    = DockStyle.Fill;
                IWizardSheet sheetInterface = sheet as IWizardSheet;
                sheetInterface.Data    = RuntimeData;
                sheetInterface.Manager = this;
                panelSheetPlaceHolder.Controls.Add(sheet);
            }
            panelSheetPlaceHolder.ResumeLayout();

            ShowPage(0);
            UpdateButtonState();
        }
Example #2
0
        void ShowPage(int index)
        {
            if (index < 0 || index >= sheets.Count)
            {
                throw new ArgumentOutOfRangeException();
            }

            if (index != currentPageIndex)
            {
                IWizardSheet prevSheetInterface = sheets[currentPageIndex] as IWizardSheet;
                if (!prevSheetInterface.OnLeave())
                {
                    return;
                }
                UserControl prevSheet = sheets[currentPageIndex] as UserControl;
                prevSheet.Visible = false;
            }

            UserControl  sheet          = sheets[index] as UserControl;
            IWizardSheet sheetInterface = sheets[index] as IWizardSheet;

            sheet.Visible = true;

            char[]   seprator = new char[] { '|' };
            string[] texts    = sheet.Tag.ToString().Split(seprator);
            if (texts.Length != 2)
            {
                throw new ArgumentException("Wrong user control tag");
            }
            labelSheetName.Text        = texts[0];
            labelSheetDescription.Text = texts[1];

            currentPageIndex = index;

            sheetInterface.OnEnter();
        }