private void printResult(Core.LoginResult lr, int pos) { string output = ""; switch (lr) { case Core.LoginResult.AccountMigrated: //output = "Account migrated."; break; case Core.LoginResult.NotPremium: //output = "Account not premium."; break; case Core.LoginResult.OtherError: //output = "Unknown Error."; break; case Core.LoginResult.ServiceUnavailable: //output = "Service currently unavailable."; break; case Core.LoginResult.SSLError: //output = "SSL Error."; break; case Core.LoginResult.Success: //output = "Success."; Action action = () => listBox2.Items.Add(listBox1.Items[pos]); listBox2.Invoke(action); // Or use BeginInvoke break; case Core.LoginResult.WrongPassword: //output = "Wrong password."; break; } toolStripStatusLabel1.Text = output; }
void worker_DoWork(object sender, DoWorkEventArgs e) { int percentFinished = (int)e.Argument; while (!worker.CancellationPending && percentFinished < listBox1.Items.Count) { worker.ReportProgress(percentFinished); string item = listBox1.Items[percentFinished].ToString(); string user = item.Split(':')[0]; string pass = item.Split(':')[1]; string accesstoken = ""; string uuid = ""; Core.LoginResult lr = Core.GetLogin(ref user, pass, ref accesstoken, ref uuid); printResult(lr, percentFinished); ++percentFinished; } e.Result = percentFinished; }