V
Villiya
есть 3 строчки кода которые необходимо выполнить
они являются очень временнозатратными т.е. в самом лучшем случае они расчитываются минут 5, чтобы не висла на это время форма, вынесла их в backgroundWorker следующим образом
процесс вроде выполняется, но ОООООЧЕНЬ медленно, может есть возможность его ускорить? может, например, лучше использовать
но как тогда в новом потоке правильно запустить
и прикрутить к нему прогрессбар?
не отправляйте пожалуйста к литературе, уже было много перечитано, но что-то ничего не помогает
Код:
/////данный кусок должен остаться неизменным
CFirDoc p = new CFirDoc(id);
double TotalSeconds = p.Go();
Form1.cdoc = p;
////
Код:
private void CalcBtn_Click(object sender, EventArgs e)
{
backgroundWorker1.RunWorkerAsync();
}
public void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
for (int i = 0; i < 100; i++)
{
/////данный кусок должен остаться неизменным
CFirDoc p = new CFirDoc(id);
double TotalSeconds = p.Go();
Form1.cdoc = p;
////
backgroundWorker1.ReportProgress(i);
}
}
private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
progressBar1.Value = e.ProgressPercentage;
}
public void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
MessageBox.Show("Работа завершена");
}
Код:
var thread = new Thread();
thread.Start();
Код:
CFirDoc p = new CFirDoc(id);
double TotalSeconds = p.Go();
Form1.cdoc = p;
не отправляйте пожалуйста к литературе, уже было много перечитано, но что-то ничего не помогает