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
MessageBox
giovedì 11 novembre 2004 - 12.56
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
sarto76
Profilo
| Junior Member
102
messaggi | Data Invio:
gio 11 nov 2004 - 12:56
ciao a tutti io ho 2 domande:
1) esistono dei messageBox o oggetti simili che mi diano solamente un messaggio , e che scompaiano solamente quando io lo decido? ad esempio sto calcolando... --> sparisce solo alla fine del calcolo
2) COME FACCIO A FAR CHIUDERE UN MESSAGEbOX? Io ho un messagebox che appena io clicco su sì mi fa determinati calcoli che durano 1 minuto. alla fine mi da il risultato su un altro messagebox. Come faccio a far si che appena io clicco sul si del primo messagebox mi si chiuda prima di fare i calcoli? Il problema di adesso è che non si chiude e mentre esegue i calcoli nel messagebox c'è una riga bianca che lo ricopre quasi tutto
Grazie mille a tutti
Andy
Profilo
| Senior Member
487
messaggi | Data Invio:
gio 11 nov 2004 - 17:01
Ciao...per la prima domanda puoi usare anche dei threads, dove apri una form prima del calcolo e la chiudi appena finito..per quanto riguarda la seconda domanda aattendo anche io delle solu<ioni, in quanto succede anche a me..in parole povere, se lancio un processo che dura un bel pò di tempo...es un While che fa molteplici operazioni al suo interno, cè un modo x causare una interruzione (il classico cancel?) mentre è ancora all'opera?
E perchè la seconda volta che lancio il calcolo non rinfresca la form e anch'io vedo quella fastidiosa linea bianca fino alla fine del calcolo? UP..
Ciao
sarto76
Profilo
| Junior Member
102
messaggi | Data Invio:
ven 12 nov 2004 - 12:29
ciao ad entrambi, per la prima domanda la progress bar non mi va bene perchè io voglio che fintanto che c'è il messaggio l'utente non può far niente, deve aspettare finchè il messaggio in questione spatisce.
Per i threads come finziona? dovrei comunque far apparire una messageBox... e la messagebox possono chiuderla se ha dei bottoni. Io vorrei un messaggio senza bottoni, è possibile?
Andy
Profilo
| Senior Member
487
messaggi | Data Invio:
ven 12 nov 2004 - 13:11
Ciao..per usare i thread devi:
1) Dichiarare il thread prima di lanciare il tuo calcolo ( ad es nell'evento click di un tasto su form):
Dim t As New Thread(AddressOf ThreadProc) 'Creates the new thread
2) Lanciare il thread, sempre prima dell'inizio della procedura di calcolo:
t.start()
All'interno della tua procedura threadproc non dev'esserci un messagebox, ma puoi fargli fare quello che vuoi..nel mio caso apro un'altra form con solamente una Progressbar, che viene aggiornata ogni tot di dati fino ad arrivare al conteggio totale:
'*******
'ROUTINE DI THREAD (ATTESA)
'*******
Public Sub ThreadProc()
Dim F As New Attesa ' "Attesa" è il nome della Form in progettazione
F.Show()
F.Focus() ' La tiene rinfrescata
PB = F.ProgB ' PB è la progressbar sulla form "Attesa" (dichiarata globale)
F.Refresh()
If F.ProgB.Value >= 100 Then ' Se il progressbar è arrivato alla fine chiudi tutto
'Remove the form after the "task" finishes
F.Hide()
F.Dispose()
End If
End Sub
Ultima cosa, nel mio caso, mentrre faccio i calcoli aggiorno la progressbar:
PB.Value = (contatoreParzialeElementi * 100) / ContatoreTotaleElementi
Ovviamente se ho finito di effettuare calcoli sono alla fine della progressbar ed il thread viene chiuso..
Spero di essere stato chiaro..
a presto.
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 !