Uso de controle de caixa de seleção
-
21-12-2019 - |
Pergunta
Criei um controle em forma de caixa de seleção que ao ativá-lo, determinados controles ficam visíveis.Ao desativá-lo, os controles ficam invisíveis.Meu problema está no carregamento do formulário.Na primeira vez que marca a caixa de seleção (no evento mousedown), nada acontece, forçando o usuário a desmarcá-la e, em seguida, selecioná-la novamente.Na nova seleção, funciona bem.Imagino que preciso fazer algum tipo de atualização em algum lugar, mas não consigo descobrir como.alguém poderia me dar uma mão?Abaixo está meu código..Obrigado
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
Solução
Eu sugiro que você continue a codificar para seu próprio Sub, algo como Sub UpdateControls().Você pode então ligar para esse Sub em dois lugares: Form_Current
e a _AfterUpdate
caso de qualquer controle que deva alterar o estado.Remova o Me.Form.Refresh
linha.Form_current é acionado quando o primeiro registro é exibido e novamente sempre que o usuário navega. AfterUpdate
será acionado quando a caixa de seleção for alterada em um registro.