VB express 2005 - Botão disable que funciona passando a enab

08/05/2007

0

Olá, estou já à algum tempo a bater com a cabeça com um probleminha que me parece um pouco estranho e como estou a dar os primeiros passos na programação não consigo entender o que se passa nem como resolver o problema, por isso resolvi pedir ajuda a esta comunidade.

Criei uma aplication window com o vb 2005 express e coloquei dois botões com o seguinte código:

Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Me.Button2.Enabled = False
[color=green:3094862543]´Me.Button2.Visible = False
´Me.Button2.SendToBack()[/color:3094862543]
System.Threading.Thread.Sleep(5000)
[color=green:3094862543]´Me.Button2.Visible = True
´Me.Button2.BringToFront()[/color:3094862543]
Me.Button2.Enabled = True
End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
[color=green:3094862543]´if Me.Button2.Enabled = True Then[/color:3094862543]
MessageBox.Show(´Entrou no botão 2 ao fim do sleep!!!´)
[color=green:3094862543]´End If[/color:3094862543]
End Sub
End Class

O que se está a passar é que ao primir o botão 1, o botão 2 passa a disable e fica disable durante 5 segundos. O estranho é que se eu primir o botão 2 enquanto este está disable não acontece nada mas logo que passe a enable (ao fim dos 5 segundos) a mensagem aparece no ecrã apesar de na altura que eu primi o botão estava disable...

Parece que o evento de clickar no botão 2, quando este está disable fica na memória e é atendido logo que o botão passe a enable...

Mais estranho ainda é que acontece precisamente o mesmo quando coloco o botão invisivel...

Alguém sabe como resolver o assunto ou já teve o mesmo problema??

Obrigado.


Dpeneireiro

Dpeneireiro

Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar