AJUDA COM OPERACAO
Olá.
Como eu faço para desativar temporariamente o click do mouse na minha aplicação quando estiver realizando uma operação mais demorada?
Por exemplo, tenho um programa que carrega informações de um bd ou de um arquivo qualquer, a operação de carregamento pode demorar um pouco então eu mudo o cursor do mouse para hourglass (a ampulheta) e desativo o click do mouse até ela ser completada.
Como eu faço pra desativar o click durante esta operação?
Obrigado.
Como eu faço para desativar temporariamente o click do mouse na minha aplicação quando estiver realizando uma operação mais demorada?
Por exemplo, tenho um programa que carrega informações de um bd ou de um arquivo qualquer, a operação de carregamento pode demorar um pouco então eu mudo o cursor do mouse para hourglass (a ampulheta) e desativo o click do mouse até ela ser completada.
Como eu faço pra desativar o click durante esta operação?
Obrigado.
De uma lida aqui oh
http://www.codeproject.com/KB/vb/LockKeyboard.aspx
Abraços
http://www.codeproject.com/KB/vb/LockKeyboard.aspx
Abraços
Olá Zerocal, obrigado por responder. Mas não funcionou essa solução que vc indicou.
PHANTOM
Eu costumo usar um método Habilitar e Desabilitar os controles para isso!
Mas tem uma opção de bloquear o mouse. Que já usei para uma situação mais crÃtica.
Eu costumo usar um método Habilitar e Desabilitar os controles para isso!
Protected Sub habilitarControles(ByVal autorizar As Boolean)
Me.Button1.Enabled = autorizar
Me.Button2.Enabled = autorizar
End Sub
Private Sub btnCarregar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCarregar.Click
Me.habilitarControles(False)
Me.Carregar()
Me.habilitarControles(True)
End Sub
Mas tem uma opção de bloquear o mouse. Que já usei para uma situação mais crÃtica.
Declare Function BlockInput Lib [Ô]User32[Ô] _
(ByVal fBlockIt As Boolean) As Boolean
Sub Carregar()
BlockInput(True)
[ô] Seu procedimento.
System.Threading.Thread.Sleep(1000)
BlockInput(False)
End Sub
Olá, testei as duas soluções que você indicou Jonathan, a primeira é mais adequada que a segunda. Pq nesta última, o usuário pode pensar que o pc travou durante a operação e dar CTRL+ALT+DEL ou reiniciar o computador, podendo danificar o banco de dados, por exemplo.
A primeira eu já tinha pensado em fazer, mas usando um loop nos controles do form. De qqr forma obrigado pela ajuda!
A primeira eu já tinha pensado em fazer, mas usando um loop nos controles do form. De qqr forma obrigado pela ajuda!
Tópico encerrado , respostas não são mais permitidas