Jump to content

Verificar se alguma das janelas do program está com focus


zephirus
 Share

Recommended Posts

Olá,

No programa que estou a desenvolver quero que sejam feitos updates a informação de x em x tempo. No entanto, quando a janela não tem focus não vale a pena fazer esse update. Com essa ideia, usei o seguinte código para activar/desactivar o timer para fazer o update:

Private Sub MainFormActivated(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Activated
  Timer1.Enabled = True
End Sub

Private Sub MainFormDeactivated(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Deactivate
  Timer1.Enabled = False
End Sub

O problema agora é que além da MainForm, tenho também outras forms que, quando abertas, não devem colocar o timer1 em disabled. Basicamente o que eu pretendo é que sempre que uma das N janelas que compõem o meu program estão com focus, o timer1 esteja enabled. Como é que faço isso sem estar a escrever código para as diversas situações?

Obrigado.

Link to comment
Share on other sites

Secalhar vou dizer uma grande asneira, mas algo como isto não funciona?

        If Me.Focus = True Then
            Timer1.Enabled = True
        Else
            Timer1.Enabled = False
        End If

Numa das forms sim. Mas eu tenho várias. E quando uma tem focus, a outra não tem e o timer é só um.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.