Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Controllo Timer
mercoledì 02 novembre 2005 - 09.02
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
ysdemarc
Profilo
| Expert
587
messaggi | Data Invio:
mer 2 nov 2005 - 09:02
Quando vado a fare delle letture con possibilità che i records siano piuttosto numerosi, mi è venuta la "brillante" idea di mostrare in un form un messaggio di attesa con un timer che segna il tempo del processo.
in pratica alla richiesta di lettura faccio così:
in una routine di classe istanzio il form di attesa dove all'interno ho il comando start di timer (che dovrebbe scatenare l'evento Tick ogni secondo) , setto i relativi messaggio, visualizzo il form, e vado alla lettura dei record.
Il problema è che se non ha finito la lettura il controllo timer non mi scatena nessun evento, nonostante la Start sia nel costruttore del form. Come faccio a far scorrere sti benedetti secondi?
Grazie.
Ciao!
AntCiar
Profilo
| Expert
936
messaggi | Data Invio:
mer 2 nov 2005 - 18:22
Ciao. Prova ad inserire dopo la chiamata al metodo 'Timer.Start' la riga 'application.doevents'
Inserisci questa riga anche all'interno dell'evento "Tick' del timer, alla fine di tutte le istruzioni.
Ciao
ysdemarc
Profilo
| Expert
587
messaggi | Data Invio:
mer 2 nov 2005 - 18:41
Gia fatto .. a parte subito dopo lo start..
ma non va comunque :-(((((
Vincenzo
Programmatore sbilenco :-D
AntCiar
Profilo
| Expert
936
messaggi | Data Invio:
gio 3 nov 2005 - 08:52
Ciao.
Ti ho inserito in allegato un progetto di esempio su come gestisco io la cosa.
ysdemarc
Profilo
| Expert
587
messaggi | Data Invio:
gio 3 nov 2005 - 09:58
Ciao.. grazie mille per l'esempio.
Anche se già fgacevo qualcosa del genere ho eseguito alla lettera le tue istruzioni ed il risultato è che mettendo un DoEvents all'interno del ciclo va tutto ok, non mettendolo l'evento Tick non viene generato neanche a pagarlo oro.
Ora facendo una lettura nel db è come se non mettessi il DoEvents nel ciclo quindi il tick non viene mai generato se non dopo la fine della lettura.
Guardando la guida del tool ldi dotnet, ho preso spunto da un esempio che non utilizza il controllo ma fa tutto con una classe, ebbene questa classe che metto in allegato fa una cosa stranissima.
A Console scrive i secondi perfettamente ma non riesce a farlo con il controllo associato se non alla fine.
Ciaoè una lettura che dura 6 secondi ho questo output a Console:
tempo: 0.00.01
>0.00.01
tempo: 0.00.02
tempo: 0.00.03
tempo: 0.00.04
tempo: 0.00.05
tempo: 0.00.06
>0.00.06
>0.00.06
>0.00.06
>0.00.06
>0.00.06
le righe sono generate dallo stesso evento. Quello con "tempo" sono l'output a Console del testo che vado a scrivere nel controllo, quelle segnate con ">" è l'output a Console del testo associato al controllo che in teoria dovrebbe essere uguale e alternarsi alle righe con "tempo" invece sembrta come se aspettasse la risposta del controllo e ne ha tante quante già generate dall'evento ma alla fine della lettura del db.
Con un ciclo.. senza lettura al db funziona normalmente.
Non riesco a capacitarmene!
Ciao!
Vincenzo
Programmatore sbilenco :-D
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !