Это настройка, которая у меня есть, этот код работает правильно
private void butGo_Click(object sender, EventArgs e)
{
threadCreateImages.RunWorkerAsync();
}
private void threadCreateImages_DoWork(object sender, DoWorkEventArgs e)
{
PatientToHL7MSHManager tvPatientToHL7MSHManager = new PatientToHL7MSHManager();
tvPatientToHL7MSHManager.LoadByMSHID("");
}
private void threadCreateImages_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
MessageBox.Show("DONE");
}
если я изменюсь
эта линия
tvPatientToHL7MSHManager.LoadByMSHID ( "");
в
tvPatientToHL7MSHManager.LoadByPatientID ( "");
Он пропускает событие DoWork и переходит прямо к событию RunWorkerCompleted.
Единственное различие между LoadByMSHID и LoadByPatientID - это фильтр в операторе SQL, за исключением того, что путь к коду идентичен.
Код работает без фонового потока.
Любые идеи или предложения будут очень признательны.