UNLOAD
Bom dia,
Queria saber se existe alguma forma de bloquear o botão[X] do form (vbModal) por um tempo definido e depois reativá-lo.
Alguns usuários estão fechando o form enquanto uma função está sendo executada...
Alguma idéia ou sugestão? Desde já agradeço.
Queria saber se existe alguma forma de bloquear o botão[X] do form (vbModal) por um tempo definido e depois reativá-lo.
Alguns usuários estão fechando o form enquanto uma função está sendo executada...
Alguma idéia ou sugestão? Desde já agradeço.
Se o usuário não precisar fechar o formulário manualmente você pode modificar a propriedade ControlBox do formulário para false e após a execução das rotinas atribuÃdas ao Formulário você coloca Unload Nome_do _Formulário.
Espero ter ajudado.
P.S: A propriedade ControlBox não pode ser modificada em tempo de execução. Dá erro.
Espero ter ajudado.
P.S: A propriedade ControlBox não pode ser modificada em tempo de execução. Dá erro.
use o evento QueryUnload
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
[ô]Aqui você verifica se a função está sendo executada
if Função em execução then
Cancel = True
msgbox [Ô]Função em execução[Ô]
end if
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
[ô]Aqui você verifica se a função está sendo executada
if Função em execução then
Cancel = True
msgbox [Ô]Função em execução[Ô]
end if
End Sub
O problema é que eu não posso cancelar a função durante a execução...
Arcadyum, como eu faço pra setar a control box como false? controlbox=false não da certo...
Arcadyum, como eu faço pra setar a control box como false? controlbox=false não da certo...
Era isso mesmo Jonathan, Obrigado.
Crie uma variável do tipo boleana privada.
Private Bloqueia as boolean
no botão da ação seta ela como true
e no fim da execução seta ela como false.
No evento unload dp form coloque o seguinte.
if bloqueia = true then
msg [Ô]Rotina em andamento [Ô]
Cancel = 1
Exit Sub
endif
Entendeu?
Private Bloqueia as boolean
no botão da ação seta ela como true
e no fim da execução seta ela como false.
No evento unload dp form coloque o seguinte.
if bloqueia = true then
msg [Ô]Rotina em andamento [Ô]
Cancel = 1
Exit Sub
endif
Entendeu?
Tópico encerrado , respostas não são mais permitidas