Ik wil alleen geautoriseerde gebruikers toelaten tot één van de pages van een MultiPage. Via het MultiPage_Change event check ik of de betreffende Page geselecteerd wordt via de .Value-eigenschap en vraag om een wachtwoord. Bij een verkeerd ingevoerd wachtwoord stel ik de MultiPage.Value-eigenschap in op 0; de eerste Page. Maarrr... de controls van de 'verboden' Page blijven zichtbaar!
Als ik de MultiPage.Value op een andere manier instel gaat het allemaal wel prima.
Ter illustratie de navolgende code. Ik heb hiervoor een UserForm1 met daarop een MultiPage1 en een CommandButton1 aangemaakt. De MultiPage1 heeft drie Pages met op Page1 een TextBox1, op Page2 een CommandButton2 en op Page3 een ComboBox1.
Dit gaat prima: elke keer als je op CommandButton1 klikt, wordt de navolgende Page geselecteerd en de control op die Page keurig weergegeven.
Maar nu:
:evil
it gaat fout: Page1 wordt wel geselecteerd, maar de ComboBox1 van Page3 blijft in beeld. De TextBox1 van Page1 kan ik niet naar voren halen of activeren (TextBox1.SetFocus geeft een foutmelding omdat hij niet zichtbaar is).
Heeft iemand een oplossing? Doe ik iets fout
of is dit een bug
?
Als ik de MultiPage.Value op een andere manier instel gaat het allemaal wel prima.
Ter illustratie de navolgende code. Ik heb hiervoor een UserForm1 met daarop een MultiPage1 en een CommandButton1 aangemaakt. De MultiPage1 heeft drie Pages met op Page1 een TextBox1, op Page2 een CommandButton2 en op Page3 een ComboBox1.
Code:
Private Sub CommandButton1_Click()
Dim iIndex%
With Me.MultiPage1
iIndex = .Value
iIndex = iIndex + 1
If iIndex > .Pages.Count - 1 Then iIndex = 0
.Value = iIndex
End With
End Sub
Sub Test
UserForm1.Show
End Sub
Dit gaat prima: elke keer als je op CommandButton1 klikt, wordt de navolgende Page geselecteerd en de control op die Page keurig weergegeven.
Maar nu:
Code:
Private Sub MultiPage1_Change()
With Me.MultiPage1
If .Value = 2 Then .Value = 0
End With
End Sub
Sub test()
UserForm1.Show
End Sub
:evil

Heeft iemand een oplossing? Doe ik iets fout

