Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

zephirus

Verificar se alguma das janelas do program está com focus

Recommended Posts

zephirus

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.

Share this post


Link to post
Share on other sites
bioshock

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

Share this post


Link to post
Share on other sites
zephirus

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.

Share this post


Link to post
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

×

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.