DESABILITAR E HABILITAR BOTÃO FECHAR DO FORM

JOHNSTEVE 18/04/2017 19:29:19
#473387
Boa noite galera top...

estou com uma dúvida, não sei se é possível, mais vamos la.

[txt-color=#0000f0] é possível Desabilitar o Botão Fechar do Form. e depois Habilitar.? [/txt-color]
Motibo, estou com um cliente que ele não tem paciência de enviar as Notas Fiscais. daí qnd esta enviando ele tem a mania de fechar o Formulario no botao Fechar. toda vez ele me liga falando que esta dando duplicidade de NFe. porque.? adivinha... percebi isso que ele tava fazendo . ele fechava o form. pq demorava a receber o retorno. as vezes devido a net dele esta lenta. ou o serviço da sefaz...

Aí galera, queria fazer alguma função do tipo. qnd ele enviar a NFe. eu chamar a função Desabilitar o Form. para q ele não tente fechar o form. ate chegar o retorno da Sefaz. do xml autorizado... daí quando chegar o retorno tudo bacana. autorizado. depois q eu salvar tudo. é q eu chamo a outra função de Habilitar o form
acho q essa seria uma boa alternativa para esse tipo de Usuário... mania de querer fechar a tela porque acha q travou ou o sistema é lento coisa assim do tipo.

Resumido galera, minha logica que uso na NFe. é o seguinte.
* Envio XML
* Aguardo o Retorno
* leio o Retorno e mostro para o usuario no form.
* Salvo todas as informações no banco de dados.
* libero o form para nova emissão
(isso qnd o Xml é autorizado)
(quando não é autorizado, eu não salvo nada. retorno para o form para o usuario consertar o erro. e tentar enviar novamente.)

Daí oq tava acontecendo. o usuario, estava fechando o form no meio do processo antes de Salvar. dai ja era tudo a logica.. o xml era autorizado. porem não salvou nada no banco. e na proxima emissão é q vinha a noticia boa kkkkkk [txt-color=#e80000] Duplicidade de NFe com diferença na chave de acesso [/txt-color] kkkk ai vc sabe ne. ligação e suporte..
então brother eu so preciso de uma função para Bloquear o Form. para ele não fechar. e depois liberar qnd for autorizado.

JOHNSTEVE 18/04/2017 19:57:18
#473388
acho q solucionei kkkkk

[txt-color=#e80000] ControlBox = False [/txt-color]

[txt-color=#0000f0] ControlBox = True[/txt-color]

vou deixar o topico aberto caso alguem tenha outra ideia ou logica :D
OMAR2011 18/04/2017 20:00:25
#473389
Resposta escolhida
Tente assim.
Me.FormBorderStyle = FormBorderStyle.None
Me.FormBorderStyle = FormBorderStyle.Sizable
KERPLUNK 18/04/2017 21:17:48
#473390
Não é muito mais simples usar o evento [Ô]FormClosing[Ô] e setar o parâmetro e cancelar o fechamento enquanto o processo não terminar? Basta setar a propriedade [Ô]Cancel[Ô] do parâmetro [Ô]e[Ô](Default) como true, assim:

Private Sub FormClosing(Source as Object, e as EventArgs) Handles MyForm.Closing
[ô]aqui pode até colocar uma mensagem dizendo que não pode fechar, até mesmo verificando algum processo rodando
e.Cancel = True
End Sub
NILSONTRES 18/04/2017 23:49:28
#473392
Citação:

Não é muito mais simples usar o evento [Ô]FormClosing[Ô] e setar o parâmetro e cancelar o fechamento enquanto o processo não terminar? Basta setar a propriedade [Ô]Cancel[Ô] do parâmetro [Ô]e[Ô](Default) como true, assim:


JOHNSTEVE 19/04/2017 19:03:12
#473416
Citação:

:
Não é muito mais simples usar o evento [Ô]FormClosing[Ô] e setar o parâmetro e cancelar o fechamento enquanto o processo não terminar? Basta setar a propriedade [Ô]Cancel[Ô] do parâmetro [Ô]e[Ô](Default) como true, assim:


Private Sub FormClosing(Source as Object, e as EventArgs) Handles MyForm.Closing
[ô]aqui pode até colocar uma mensagem dizendo que não pode fechar, até mesmo verificando algum processo rodando
e.Cancel = True
End Sub


Citação:

:
Não é muito mais simples usar o evento [Ô]FormClosing[Ô] e setar o parâmetro e cancelar o fechamento enquanto o processo não terminar? Basta setar a propriedade [Ô]Cancel[Ô] do parâmetro [Ô]e[Ô](Default) como true, assim:



Tbm deu certo obrigado a todos


OMAR2011 19/04/2017 19:16:03
#473417
Então encerra o tópico.
Não pode esquecer.
Tópico encerrado , respostas não são mais permitidas