Contrôle de case à cocher utilisation
-
21-12-2019 - |
Question
J'ai créé un contrôle sous la forme d'une case à cocher qui, lors de son activation, certains contrôles sont visibles..Sur le désactivant, les contrôles sont effectués invisible.Ma question est sur la forme de la charge.La première fois que la sélection de la case (sur l'événement mousedown), il ne se passe rien de forcer l'utilisateur pour le désélectionner, puis resélectionnez..Sur le resélectionner, il fonctionne très bien..J'imagine que j'ai besoin de faire un peu de type de rafraîchir quelque part, mais je ne peux pas comprendre comment..ce que quelqu'un serait en mesure de me donner un coup de main?Ci-dessous mon code..Merci
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
La solution
Je suggère que vous continuez à déplacer le code de ses propres Sous, quelque chose comme Sous UpdateControls().Vous pouvez ensuite appeler cette Sous en deux endroits: Form_Current
et la _AfterUpdate
cas de contrôle, cela devrait changer à l'état.Supprimer la Me.Form.Refresh
ligne.Form_current se déclenche lorsque le premier enregistrement est affiché et encore, chaque fois que l'utilisateur navigue. AfterUpdate
le feu lorsque la case n'est modifié dans un dossier.