UNLOAD ME : ME.SHOW

USUARIO.EXCLUIDOS 31/03/2005 05:03:41
#75929
Criei uma sub com o seguinte código...
Private Sub Reset()
Unload Me
Me.Show
End Sub

...que serve apenas para limpar de uma forma rápida, todos os controles do meu programa.
Acontece que, ao ser chamada de dentro de outra sub (Call Reset), após chamar o código da sub Reset, o programa tenta executar o código seguinte... o que eu pretendia era "zerar" tudo.
Já tentei com DoEvents...mas nada!!!

Que se passará??!!
USUARIO.EXCLUIDOS 31/03/2005 08:10:39
#75944
Resposta escolhida
Faz uma Sub simples, tipo

"LimpaForm"

Aí vc zera todos os controles...

Com:

Text1.Text = Empty
Combo1.Listindex = -1

E assim sucessivamente...
USUARIO.EXCLUIDOS 31/03/2005 08:14:07
#75946
Em primeiro lugar, Não USE o Código acima para LIMPAR o FORMULàRIO,
Porque na verdade você está DESCARREGANDO, e CARREGANDO ao mesmo tempo... se você tiver ROTINAS nos EVENTOS, FORM_LOAD, FORM_UNLOAD, FORM_ACTIVATE... e outros eventos que são disparados, pode ter sérios PROBLEMAS...
Para limpar todos os TEXTBOX.. faça assim

dim Ctrl as control
for each ctrl in controls
if typeof ctrl is textbox then
ctrl.text=""
endif
next ctrl


Não se esqueça de encerrar o TOPICO..
Um abraço!
USUARIO.EXCLUIDOS 31/03/2005 10:39:08
#75979
Concordo plenamente!!!!

Faz uma sum simples que limpe o formulário todo e chame ela...

Call LimpaForm

Muito mais fácil e economiza memória....

USUARIO.EXCLUIDOS 31/03/2005 14:33:35
#76023
Obrigado pessoal, vou usar essa dica!
Tópico encerrado , respostas não são mais permitidas