Ciao a tutti,
io ho una applic WPF in C#.
al click di un pulsante l'app mi cancella un grande numero di dati e in base alla quantità l'utente deve attendere più o meno tempo.
Vorrei usare la classe Backgroundworker per far vedere la classica progressbar nel mentre delle operazioni di cancellazione.
codice pulsante:
codice:
private void Clear_click(object sender, RoutedEventArgs e)
{
File.Delete(Petroliera.Instances[0].NomeNaveCarico);
Petroliera.Instances[0].Clear(); //Clear metodo che mi cancella ulteriori dati.
}
codice della progressbar col backgroundworker:
codice:
BackgroundWorker BackgroundWorker = new BackgroundWorker();
BackgroundWorker.WorkerReportsProgress = true;
BackgroundWorker.DoWork += BackgroundWorker_DoWork;
BackgroundWorker.ProgressChanged += BackgroundWorker_ProgressChanged;
BackgroundWorker.RunWorkerAsync();
private void BackgroundWorker_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
progressBar1.Value = e.ProgressPercentage;
}
private void BackgroundWorker_DoWork(object sender, DoWorkEventArgs e)
{
for (int i=0; i<101; i++)
{
(sender as BackgroundWorker).ReportProgress(i);
Thread.Sleep(50);
}
}
il mio problema è come integrare le due cose per raggiungere il seguente scopo:
Al click del pulsante l'app fa le operazioni richieste nel click e intanto mi fa vedere la progressbar fino al termine delle operazioni.
grazie in anticipo