J'exporte une table de données pour exceler le dossier using l'ouvrier d'arrière-plan. Et je voulais montrer la progression de l'exportation en utilisant la barre de progression. Devons-nous écrire le code d'exportation dans l'événement Do Work ou pouvons-nous appeler une méthode, qui est présente dans une autre classe. Dans mon code, j'ai essayé d'appeler une méthode différente. Mais ça ne marche pas. Voici l'exemple de code.Peut-on appeler la méthode dans un événement DoWork?
public MainWindow()
{
InitializeComponent();
property = new Property();
this.DataContext = property;
worker.WorkerReportsProgress = true;
worker.DoWork += worker_DoWork;
worker.ProgressChanged += worker_ProgressChanged;
worker.RunWorkerCompleted += worker_RunWorkerCompleted;
}
private void worker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
if (e.Error != null)
{
System.Windows.Forms.MessageBox.Show(e.Error.Message);
}
else
{
System.Windows.Forms.MessageBox.Show("Exported Successfully");
}
}
private void worker_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
pbStatus.Value = e.ProgressPercentage;
}
private void worker_DoWork(object sender, DoWorkEventArgs e)
{
Export export = new Export();
export.GenerateExcelFile();
}
Pouvez-vous montrer la partie du code où votre travailleur soulève la 'worker_ProgressChanged' et les événements 'worker_RunWorkerCompleted'? –