Visualizzazione dei risultati da 1 a 6 su 6

Discussione: [C#] Problema Timer

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2008
    Messaggi
    30

    [C#] Problema Timer

    Ciao! avrei il seguente problema! ho un Timer con due handler:
    Codice PHP:
    this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
    this.timer1.Tick += new System.EventHandler(this.timer1_Tick1); 
    ad ogni tick i due handler aggiorneranno due grafici implementati tramite la ZedGraph... il problema sta nel fatto che viene aggiornato solo un grafico e non tutte e due!
    Se provo ad eseguire separatamente gli handler i grafici vengono visualizzati correttamente...

    Perchè succede questa cosa???????

    vi ringrazio!

  2. #2
    Utente di HTML.it L'avatar di albgen
    Registrato dal
    Jun 2005
    Messaggi
    3,249
    quello che dici mi sembra improbabile.
    Prova a controllare i nome degli handler...posta il codice e vediamo un pò
    I got the remedy

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2008
    Messaggi
    30
    innanzi tutto grazie per la pronta risposta! questo è il codice:
    Codice PHP:
    private void timer1_Tick(object senderEventArgs e)
            {
                
    //textBox1.AppendText("\r\ncreaGrafico: "+creaGrafico);
                
    if (creaGrafico)
                {
                    
    //textBox1.AppendText("\r\n Primo grafico");
                    
    creaGrafico false;


                    if (
    arrayModuloAccelerazione != null)
                    {
                        
    textBox1.AppendText("\r\n Array accellerazione non vuoto");
                        if (
    graficoModuloAccelerazione != null)
                        {
                            
    textBox1.AppendText("\r\nGrafico accellerometro non nullo");
                            
    arrayModuloAccelerazioneCopia arrayModuloAccelerazione;
                            
                            
    graficoModuloAccelerazione.aggiornaGrafico(arrayModuloAccelerazione);
                            if(!
    graficoModuloAccelerazione.Visible)
                                
    graficoModuloAccelerazione.Show();
                                
    //graficoModuloAccelerazione.Refresh();
                            
    textBox1.AppendText("\r\nGrafico accellerometro aggiornato");
                        }
                        else
                            
    textBox1.AppendText("\r\nGrafico accellerometro nullo");
                    }
                    else
                        
    textBox1.AppendText("\r\n Array vuoto");
                }
            } 
    il secondo handler è uguale, cambia solo il nome del grafico e il nome dell'array passato in ingresso!
    grazie 1000000000000000000000


    aggiungo anche che avevo già provato a utilizzare un unico handler ma ottengo lo stesso risultato!

  4. #4
    Utente di HTML.it L'avatar di albgen
    Registrato dal
    Jun 2005
    Messaggi
    3,249
    Originariamente inviato da zappeis
    innanzi tutto grazie per la pronta risposta! questo è il codice:
    Codice PHP:
    private void timer1_Tick(object senderEventArgs e)
            {
                
    //textBox1.AppendText("\r\ncreaGrafico: "+creaGrafico);
                
    if (creaGrafico)
                {
                    
    //textBox1.AppendText("\r\n Primo grafico");
                    
    creaGrafico false;


                    if (
    arrayModuloAccelerazione != null)
                    {
                        
    textBox1.AppendText("\r\n Array accellerazione non vuoto");
                        if (
    graficoModuloAccelerazione != null)
                        {
                            
    textBox1.AppendText("\r\nGrafico accellerometro non nullo");
                            
    arrayModuloAccelerazioneCopia arrayModuloAccelerazione;
                            
                            
    graficoModuloAccelerazione.aggiornaGrafico(arrayModuloAccelerazione);
                            if(!
    graficoModuloAccelerazione.Visible)
                                
    graficoModuloAccelerazione.Show();
                                
    //graficoModuloAccelerazione.Refresh();
                            
    textBox1.AppendText("\r\nGrafico accellerometro aggiornato");
                        }
                        else
                            
    textBox1.AppendText("\r\nGrafico accellerometro nullo");
                    }
                    else
                        
    textBox1.AppendText("\r\n Array vuoto");
                }
            } 
    il secondo handler è uguale, cambia solo il nome del grafico e il nome dell'array passato in ingresso!
    grazie 1000000000000000000000


    aggiungo anche che avevo già provato a utilizzare un unico handler ma ottengo lo stesso risultato!
    eh no! il secondo handler deve essere chiamato

    private void timer1_Tick1(object sender, EventArgs e) e non
    private void timer1_Tick(object sender, EventArgs e)

    edit: se ottieni lo stesso risultato anche con un unico handler allora il problema non è sicuramente nel timer!!!
    I got the remedy

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2008
    Messaggi
    30
    si si si chiama Tick1... il fatto è che parte il grafico e entra dentro al tick1 pero non aggiorna ad ogni click il grafico.... che strano!

  6. #6
    Utente di HTML.it L'avatar di albgen
    Registrato dal
    Jun 2005
    Messaggi
    3,249
    Originariamente inviato da zappeis
    si si si chiama Tick1... il fatto è che parte il grafico e entra dentro al tick1 pero non aggiorna ad ogni click il grafico.... che strano!
    si vede che c'è un bug nel codice che hai scritto dentro al'handler del timer.
    I got the remedy

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.