J'ai un programme avec une barre de progression qui ne se met pas à jour tant que le programme n'est pas terminé. J'ai creusé un peu et j'ai compris que je devais faire un fond d'écran pour qu'il se mette à jour pendant que ma boucle fonctionne. D'après les exemples montrés, je ne comprends pas ce que je suis censé faire. Quelqu'un peut-il m'expliquer comment mettre en place et ce qu'il fait s'il vous plaît?Créer un BackgroundWorker pour que ProgressBar fonctionne
int progressBar;
private void button3_Click(object sender, EventArgs e)
{
try
{
while (y < PriDID.Count)
{
cmd.CommandText = "SELECT COUNT(*) FROM Accounts WHERE ACCT='" + ACCT[y] + "'";
int count = Convert.ToInt32(cmd.ExecuteScalar());
if (count < 1)
{
progressBar = (y/SDM_ACCT.Count) * 100;
progressBar1.Value = progressBar;
progressBar1.Update();
Console.WriteLine(SDM_ACCT[y - 1]);
cmd.CommandText = @"INSERT INTO Accounts(SDM_ACCT,Description)
values(" + "'" + ACCT[y] + "'," + "'" + Comment[y] + ")";
cmd.ExecuteNonQuery();
y++;
recordCount++;
}
else
{
y++;
}
MessageBox.Show(recordCount + " unique records successfully loaded to the Database.");
}
}
catch (Exception ex)
{
MessageBox.Show("Exception: " + ex.Message + " Please make sure you have selected a valid path for your CSV and database.");
}
}
Quelles informations avez-vous trouvé sur la façon d'écrire un travailleur de fond, et quels problèmes spécifiques avez-vous eu avec votre mise en œuvre de celui-ci? – Servy
Je l'ai trouvé mais je ne comprends pas comment l'adapter à ce que j'ai. http://stackoverflow.com/questions/6481304/how-to-use-a-backgroundworker –
Quels problèmes * spécifiques * avez-vous adaptés à votre situation? Qu'est-ce qui n'a pas marché pour toi? – Servy