Ho diversi file di grandi dimensioni che sto elaborando e sto utilizzando lo backgroundWorker1.ReportProgress(percent)
per segnalare lo stato di avanzamento al termine di ogni file. Ma ora voglio avere una seconda barra di avanzamento per segnalare lo stato di avanzamento di ogni singolo file mentre viene elaborato (e ripristina il file successivo). Posso usare la posizione corrente del byte che sto leggendo e dividere per la dimensione totale del file per ottenere il progresso in percentuale. Ma come faccio a passare questo valore a progressBar2 se c'è un solo evento ProgressChanged?C# Backgroundworker segnala lo stato di avanzamento di 2 barre di avanzamento?
5
A
risposta
5
Un modo è utilizzare BackgroundWorker.ReportProgress(Int32, Object) e passare tutto ciò che si desidera, nel parametro userState.
Un altro è semplicemente sapere che quando hai raggiunto il 100% sulla prima barra di avanzamento devi incrementare l'altra barra.
3
ReportProgress ha uno overload che consente di passare un oggetto aggiuntivo. Puoi usare questo per restituire qualsiasi stato extra di cui hai bisogno.
public void ReportProgress(
int percentProgress,
Object userState
)
È quindi possibile leggere lo stato da ProgressChangedEventArgs.UserState
.
Problemi correlati
- 1. barre di avanzamento multilinea
- 2. Solo 1 di 2 barre di avanzamento viene aggiornato in BackgroundWorker
- 3. Trova lo stato di avanzamento di un file in swift
- 4. Barre di avanzamento Powershell multiple (nidificate?)
- 5. C# backgroundWorker segnala una stringa?
- 6. grep - come inviare la barra di avanzamento o lo stato
- 7. Ottieni lo stato di avanzamento dei singoli file con XMLHttpRequest
- 8. Mostra lo stato di avanzamento (aggiornamento) su ActionBar?
- 9. "Questo BackgroundWorker afferma che non segnala i progressi." - Perché?
- 10. Disattiva le transizioni CSS3 di Bootstrap sulle barre di avanzamento
- 11. Barra di avanzamento Thinner Bootstrap?
- 12. Come devono essere gestite più barre di avanzamento in javascript
- 13. Barra di avanzamento C# cambia colore
- 14. Come monitorare/mostrare lo stato di avanzamento durante un ordinamento C++
- 15. Barra di avanzamento circolare
- 16. Come si implementa una barra di avanzamento in C#?
- 17. Lato server - Barra di avanzamento
- 18. BackgroundWorker segnala l'avanzamento da una classe esterna?
- 19. Barra di avanzamento per AVAssetExportSession
- 20. Uso di Dynamic per monitorare lo stato di avanzamento delle funzioni
- 21. puoi esporre lo stato di avanzamento di un servizio web a un cliente - WCF
- 22. Problema ottenere lo stato di avanzamento di uno SQL-Server processo di ripristino
- 23. Avanzamento dello streaming di AVPlayer
- 24. Finestra di dialogo di avanzamento all'apertura dell'attività
- 25. Mostra avanzamento di esecuzione javascript
- 26. HTML5 Audio - Barra di avanzamento
- 27. Barra di avanzamento Android DialogFragment
- 28. Finestra di dialogo di avanzamento di Android
- 29. barra di avanzamento durante smbclient messo
- 30. battente con barra di avanzamento