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
Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top