Ahoj, ve své aplikaci se snažím použít Backgroundworker. Je jedno co to je program. Problém je následující. Mám metodu:
private void fakturyWorker_DoWork(object sender, DoWorkEventArgs e)
{
try
{
//kod - neni dulezite
//kod - neni dulezite
// - neni dulezite
for (int i = 0; i < fileNames.Length; i++)
{
if(fakturyWorker.CancellationPending)
{
e.Cancel = true;
return;
}
// - neni dulezite
FtpSpojeni.download(mess[0], mess[0], true);
int percent = (int)((i / fileNames.Length) * 100);
fakturyWorker.ReportProgress(percent,percent);
}
}
catch (Exception a)
{
MessageBox.Show(a.Message, "Hláška FTP serveru", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
Tato událost má provést dané úkoly a voláním metody:
fakturyWorker.ReportProgress(percent,percent);
Předat události
fakturyWorker_ProgressChanged
postup pro vyobrazení na progressBar.
private void fakturyWorker_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
try
{
stav_faktury.Value = e.ProgressPercentage;
label1.Text = e.UserState.ToString();
}
catch (Exception a)
{
MessageBox.Show(a.Message, "Hláška", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
Vše mi už funguje jak má, ale jediný háček je že se neaktualizuje progressBar ani daný label, kde může být chyba?