Verwendung des Kontrollkästchens steuern
-
21-12-2019 - |
Frage
Ich habe ein Steuerelement in Form eines Kontrollkästchens erstellt, bei dessen Aktivierung bestimmte Steuerelemente sichtbar gemacht werden.Bei Deaktivierung werden die Bedienelemente unsichtbar gemacht.Mein Problem liegt beim Laden des Formulars.Beim ersten Auswählen des Kontrollkästchens (bei Mousedown-Ereignis) passiert nichts, was den Benutzer dazu zwingt, die Auswahl aufzuheben und es dann erneut auszuwählen.Bei der erneuten Auswahl funktioniert es einwandfrei.Ich stelle mir vor, dass ich irgendwo eine Art Aktualisierung durchführen muss, aber ich weiß nicht, wie.Könnte mir jemand helfen?Unten ist mein Code.Danke
Private Sub cmdAccounting_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Me.cmdAccounting = 0 Then
cost.Visible = True
Etichetta35.Visible = True
Etichetta37.Visible = True
Etichetta43.Visible = True
qty.Visible = True
tot.Visible = True
lineaAccounting1.Visible = True
lineaAccounting2.Visible = True
Me.FileSaved.Visible = False
Me.lblFileSaved.Visible = False
Else
cost.Visible = False
Etichetta35.Visible = False
Etichetta37.Visible = False
Etichetta43.Visible = False
qty.Visible = False
tot.Visible = False
lineaAccounting1.Visible = False
lineaAccounting2.Visible = False
Me.FileSaved.Visible = True
Me.lblFileSaved.Visible = True
End If
Me.Form.Refresh
End Sub
Lösung
Ich würde vorschlagen, dass Sie den Code weiterhin in ein eigenes Sub verschieben, etwa Sub UpdateControls().Sie können diesen Sub dann an zwei Stellen aufrufen: Form_Current
und das _AfterUpdate
Ereignis einer Steuerung, die den Zustand ändern sollte.Entferne das Me.Form.Refresh
Linie.Form_current wird ausgelöst, wenn der erste Datensatz angezeigt wird und jedes Mal erneut, wenn der Benutzer navigiert. AfterUpdate
wird ausgelöst, wenn das Kontrollkästchen innerhalb eines Datensatzes geändert wird.