Aiuto col timer

martedì 12 marzo 2013 - 10.21
Tag Elenco Tags  VB.NET  |  .NET 4.0  |  Windows 7  |  Windows Vista  |  Windows XP  |  Visual Studio 2010

DomDroid Profilo | Newbie

salve a tutti, vorrei sapere se qualcuno puo darmi una mano sulla creazione di una funzione che quando richiamata crei un timer dove gli venga inviato un indice di una matrice, poi venga abilitato e ad ogni 1000ms aggiorni un'immagine. Come posso fare?

Grazie in anticipo

Vinsent Profilo | Senior Member

In pratica...hai delle immagini in una matrice e vuoi visualizzarle a tempo in una picturebox?

DomDroid Profilo | Newbie

Sisi e l'immagine la prendo regolarmente da internet, ho provato con update e refresh e non sembra funzionare

Vinsent Profilo | Senior Member

Devi solo impostare la nuova immagine con la proprietà della picturebox...

Il modo più semplice ed immediato che mi viene in mente è quello di usare un controllo personalizzato, che eredita da picturebox, in cui aggiungere il timer...non so se conosci l' argomento quindi ho fatto l' esempio in allegato.
Le immagini le ho messe come risorse giusto per far funzionare "subito" l' esempio, puoi popolare la List come vuoi e se usi un "contenitore" diverso ricordati di modificare il resto...in ogni caso, se un' item della matrice/contenitore genera un' errore durante l' esecuzione questo viene intercettato e l' immagine visualizzata sostituita.
Vedi tu se può servirti...

DomDroid Profilo | Newbie

Il problema è che io carico le immagini da uno stream web, ovvero con la funzione che scrissi in un altro Thread:

Function getimage(ByVal url As String) As Image Using w As New Net.WebClient Using s As New IO.MemoryStream(w.DownloadData(url)) Return Image.FromStream(s).Clone End Using End Using End Function



Vinsent Profilo | Senior Member

Ho modificato solo la Form aggiungendo due button, sempre come esempio...:
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Tieni presente che la funzione "getimage":
1 - genera un' eccezione se la rete non è connessa o l' url è sbagliata
2 - la Form rimane "bloccata" durante il download
Per il punto 1 basta gestire l' eccezione con un blocco try/catch, mentre per il 2 ti conviene eseguire la funzione in un thread separato o usare un backgroundworker.

PS: nella sub "avvio" del custom control bisogna azzerare la variabile "list_immagini"...mi era sfuggito...

DomDroid Profilo | Newbie

mmmmm capisco, grazie per il consiglio e l'aiuto mi sa che studiarmi i BackgroundWorker :3

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 !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5