Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Buongiono a tutti,
ho creato un programma che permette di gestire una mail list e ho inserito la funzione di invio "automatico" delle email prelevando l' indirizzo da una listbox e incrementando di 1 un label che funziona da contatore. Il problema che si verifica è che l' aggiornamento del label avviene in ritardo,cioè se devo inviare 10 mail il label sembra bloccato a 0 poi passa di colpo a 10 quando l' invio delle mail è completato.
come posso fare in modo che il label venga incrementato correttamente?
questo è il codice che uso per l' invio delle mail:
Codice sorgente - presumibilmente VB.NET
Imports System.IO
Imports System.Net.
Dim sendcount AsInteger
Dim sendcounttotal AsInteger
PrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Button1.Click
Inserendo il comando che mi hai specificato il label si aggiorna correttamente,
ma sorge un altro problema, il contatore (i) che si occupa di contare le mail inviate si "ferma" a 2 provocando il mancato invio di tutte le mail successive. la cosa strana è che inserendo il comando
Codice sorgente - presumibilmente Plain Text
Msgbox(sendcounttotal)
subito dopo il comando
Codice sorgente - presumibilmente Plain Text
sendcounttotal = Form1.ListBox2.Items.Count
mi viene mostrato il numero di items presenti nella listbox invece se inserisco
Codice sorgente - presumibilmente Plain Text
Msgbox(.items.count -1)
dopo il comando
Codice sorgente - presumibilmente VB.NET
For i AsInteger= 0 To .Items.Count-1
nel messaggio mi compare "2", come posso rissolvere?
Ultima modifica effettuata da rocco8620 il 30/07/2012 alle 19:02
Ciao..
Anche se hai risolto, magari puoi essere interessato a una soluzione formalmente più corretta.
Per fare quello che richiedi dovresti usare un controllo backgroundWorker che permette di gestire le operazioni (invio email e aggiornamento interfaccia programma) come 2 thread separati.
Il controllo è fatto apposta per eseguire operazioni ripetute (tramite ciclo) e mostrare sullo schermo l'avanzamento % di tali operazioni all'utente, magari tramite progress bar anche.
Per una spiegazione del controllo leggiti questo link, che è l'ottima guida di Totem per vb.net
http://www.pierotofy.it/pages/guide/Guida_al_Visual_Basic_ ...