示例#1
0
 /// <summary>
 /// Creates new instance of the class with default values.
 /// </summary>
 /// <param name="newPage">New wizard page</param>
 /// <param name="oldPage">Old or current wizard page</param>
 /// <param name="pageChangeSource">Page change source</param>
 public WizardPageChangeEventArgs(WizardPage newPage, WizardPage oldPage, eWizardPageChangeSource pageChangeSource)
 {
     this.NewPage = newPage;
     this.OldPage = oldPage;
     this.PageChangeSource = pageChangeSource;
 }
示例#2
0
 /// <summary>
 /// Creates new instance of the class with default values.
 /// </summary>
 /// <param name="newPage">New wizard page</param>
 /// <param name="oldPage">Old or current wizard page</param>
 /// <param name="pageChangeSource">Page change source</param>
 public WizardCancelPageChangeEventArgs(WizardPage newPage, WizardPage oldPage, eWizardPageChangeSource pageChangeSource) : base(newPage, oldPage, pageChangeSource)
 {
 }
示例#3
0
        private bool ShowPage(WizardPage page, eWizardPageChangeSource changeSource)
        {
            WizardPage oldPage = this.SelectedPage;

            WizardCancelPageChangeEventArgs e = new WizardCancelPageChangeEventArgs(page, oldPage, changeSource);
            OnWizardPageChanging(e);
            if (e.Cancel || e.NewPage==null)
                return false;

            page = e.NewPage;

            if (page != null)
            {
                page.InvokeBeforePageDisplayed(e);
                if (e.Cancel || e.NewPage == null)
                    return false;
                page = e.NewPage;
            }

            if (m_PageChangeDisableButtons)
            {
                buttonBack.Enabled = false;
                buttonNext.Enabled = false;
                buttonFinish.Enabled = false;
                buttonCancel.Enabled = false;
            }

            if(m_PageChangeWaitCursor)
                this.Cursor = Cursors.WaitCursor;

            // Change the page
            if (oldPage != null)
            {
                if (oldPage != page)
                {
                    if (this.DesignMode)
                        TypeDescriptor.GetProperties(oldPage)["Visible"].SetValue(oldPage, false);
                    oldPage.Visible = false;
                    oldPage.InvokeAfterPageHidden(new WizardPageChangeEventArgs(page, oldPage, changeSource));
                }
                else
                {
                    foreach (WizardPage wp in this.WizardPages)
                    {
                        if (wp != page)
                        {
                            if (this.DesignMode)
                                TypeDescriptor.GetProperties(wp)["Visible"].SetValue(wp, false);
                            wp.Visible = false;
                        }
                    }
                }
            }

            if (page != null)
            {
                if (this.DesignMode)
                    TypeDescriptor.GetProperties(page)["Visible"].SetValue(page, true);

                page.Visible = true;
            }

            m_SelectedPageIndex = m_WizardPages.IndexOf(page);

            SetupButtons(true);

            // Raise event
            e.Cancel = false;
            OnWizardPageChanged(e);

            if (page != null)
            {
                page.InvokeAfterPageDisplayed(new WizardPageChangeEventArgs(page, oldPage, changeSource));
            }
            
            UpdatePageDisplay();

            if (m_PageChangeWaitCursor)
                this.Cursor = Cursors.Default;

            return true;
        }