TIMER GLOBAL

ROGERIOAZEVEDO 28/04/2014 08:10:59
#437678
Bom dia.

Minha aplicação possui um form principal configurado como MDI container, e tenho vários outros forms que são abertos dentro do form principal. Cada um desses [Ô]mini forms[Ô] tem um timer que atualiza a consulta SQL que eles fazem, tenho uma função que fica dentro do evento Tick como no exemplo abaixo.

  
private void timer1_Tick(object sender, EventArgs e)
{
//Seta dia promeiro e a data atual nos Dtp
DateTime dtinicio = DateTime.Today;
dtinicio = new DateTime(dtinicio.Year, dtinicio.Month, 1);
this.dtpFim1.Value = DateTime.Now.Date;
dtpIni1.Value = new DateTime(dtinicio.Year, 1, 1);
Carregar();
}


O que eu gostaria, é de criar uma Timer global, para que um unico timer atualize todos os forms, assim, eu poderia colocar um menu de configurações onde o usuário poderia escolher o tempo de atualização. Pelo que pesquisei é feito uma classe timer, fiz uma classe mas não consegui entender como vou encaixar essa classe na sintaxe que eu tenho do evento tick. Help me.

Abraços.
ROGERIOAZEVEDO 29/04/2014 21:00:26
#437780
Por favor alguem pode me ajudar com isso?

Por que esse topico não aparece nos meus tópicos?
TUNUSAT 30/04/2014 08:18:41
#437792
ROGERIO,

Não sei se te ajuda, mas estou pensando em duas soluções:
1º) Este único timer precisaria passar um valor de atualização e cada form ler este valor GLOBAL e saber que deve atualizar naquele instante.
2º) Este unico timer precisa saber quais são os formulários que estão abertos naquele instante dentro da MDI e passar ordens de atualização de suas consultas SQL para cada um deles.

Estava pensando em um lance MULTITHREADING também ... mas acho que não tem a haver.

[][ô]s,
Tunusat.
ROGERIOAZEVEDO 01/05/2014 20:01:28
#437838
Opa, obrigado pela ajuda.

O que eu quero é algo bem simples...

* No form1 eu coloquei um timer, vamos chama-lo de timer1, o que eu preciso é [Ô]enxergar[Ô] esse timer1 de outro form, por exemplo o form2.

O form1 é o form principal, nesse form eu coloquei o timer1, os demais forms vão abrir dentro desse form. Os [Ô]mini[Ô] forms são charts e grids que são atualizados no tick do timer, atualmente cada mini form tem seu timer, o que desejo é ter um unico timer pra atualizar todos os forms, ou seja, eu preciso criar o evento de tick desse timer1 que vai estar no form1, nos demais forms.

Achei um projeto, acho que aqui no forum mesmo, com um o nome globtimer, acho que é bem o que eu preciso, o projeto tem uma classe myTimer, e todos os forms [Ô]enchergam[Ô] o timer, mas eu ainda não consegui adequar à minha necessidade, que seria usar o tick desse timer para executar as funções da minha aplicação.

Help!!!
NILSONTRES 02/05/2014 10:36:25
#437845
O Timer é um controle, para ser acessado de outros forms, somente com a chamada form1.timer1
Do contrario teria que armazenar em variaveis, mas para recuperar essas variaveis apenas outro timer.
ROGERIOAZEVEDO 02/05/2014 16:15:36
#437863
Boa tarde.

E tem como eu colocar no form2 o evento TICK do timer1 que está no form1???

Sobre o projeto que postei em anexo, foi feito uma classe timer, essa é a melhor solução?

Um forte abraço.
ROGERIOAZEVEDO 08/05/2014 20:25:57
#438024
Alguém pode olhar o projeto que eu postei e me dizer se consigo fazer o que eu preciso com o conceito exposto no referido projeto?
ROGERIOAZEVEDO 14/05/2014 12:01:39
#438184
Please Help!
ROGERIOAZEVEDO 21/05/2014 09:32:15
#438374
Desculpem a insistencia, mas essa funcionalidade ajudaria muito na minha aplicação. O que preciso é um timer no form principal, usarei as propriedades para deixar o tempo configurável, isso já está pronto, mas não sei como usar o evento Tick do timer no form principal, nos demais forms. Penso que a melhor alternativa é uma classe Timer do projeto que postei, mas não entendi como criar esse evento Tick vinculado ao timer class.
Faça seu login para responder