Work-around is great! Also, before I tried your work-around, I discovered that if I added a second wizard page to the control (during design-time), the disappearing control problem went away.
Also, the updated wizard control that includes the cancel button_press events, removed the code that toggles the visibility of the header panel based on the value of a wizard page's IsWelcomePage property. The code for the cancel event wizard control:
The code how I modified it:Code:Public Overridable Sub OnSelectedPageChanged(ByVal e As EventArgs) Static oldSelection As WizardPage = Nothing If Not (oldSelection Is Nothing) Then oldSelection.Visible = False End If If Not (m_SelectedPage Is Nothing) Then CType(m_SelectedPage, WizardPage).Visible = True End If Dim tabChanged As Boolean If m_SelectedPage Is Nothing Then tabChanged = Not (oldSelection Is Nothing) Else tabChanged = Not (m_SelectedPage.Equals(oldSelection)) End If If tabChanged And Me.Created Then RaiseEvent SelectedIndexChanged(Me, EventArgs.Empty) End If oldSelection = CType(m_SelectedPage, WizardPage) ' Update title/description/icon Dim page As WizardPage = Me.SelectedPage If page IsNot Nothing Then Me.Invalidate() If page.Icon IsNot Nothing Then Me.picIcon.Image = page.Icon Me.picIcon.Visible = True Else Me.picIcon.Visible = False End If btnPrev.Enabled = (Me.SelectedIndex > 0) If page.IsLastPage Then btnNext.Text = FinishButtonText ElseIf page.IsWelcomePage Then btnNext.Text = StartButtonText Else btnNext.Text = NextButtonText End If End If End Sub
Hopefully that made sense. The changes come after the comment "Update title/description/icon".Code:Public Overridable Sub OnSelectedPageChanged(ByVal e As EventArgs) Static oldSelection As WizardPage = Nothing If Not (oldSelection Is Nothing) Then oldSelection.Visible = False End If If Not (m_SelectedPage Is Nothing) Then CType(m_SelectedPage, WizardPage).Visible = True End If Dim tabChanged As Boolean If m_SelectedPage Is Nothing Then tabChanged = Not (oldSelection Is Nothing) Else tabChanged = Not (m_SelectedPage.Equals(oldSelection)) End If If tabChanged And Me.Created Then RaiseEvent SelectedIndexChanged(Me, EventArgs.Empty) End If oldSelection = CType(m_SelectedPage, WizardPage) ' Update title/description/icon Dim page As WizardPage = Me.SelectedPage If page IsNot Nothing Then Me.lblPageTitle.Text = page.Title Me.lblDescription.Text = page.Description If page.Icon IsNot Nothing Then Me.picIcon.Image = page.Icon Me.picIcon.Visible = True Else Me.picIcon.Visible = False End If btnPrev.Enabled = (Me.SelectedIndex > 0) If page.IsLastPage Then btnNext.Text = FinishButtonText Else btnNext.Text = NextButtonText End If If page.IsWelcomePage Then btnNext.Text = StartButtonText Me.Top3DLine.Visible = False Me.pnlHeader.Visible = False Else Me.Top3DLine.Visible = True Me.pnlHeader.Visible = True End If Me.Invalidate() End If End Sub




Reply With Quote