private void btnAction_Click(object sender, EventArgs e)
{
bool Analyze = (cboAnalyzePriceList.SelectedIndex == 0 ? true : false);
bool Preview = (cboPreviewOrSave.SelectedIndex == 0 ? true : false);
Timer_Start();
(rowCnt, FileMatch, ImportId, srcAnalysis) = ProcessActionButton(Analyze, Preview);
PreviewOrSave(Preview);
}
private (int, bool, string, DataTable) ProcessActionButton(bool Analyze, bool Preview)
{
SetupProcessForm(Analyze, Preview);
Thread thProcess = new Thread(() =>
{ (rowCnt, FileMatch, ImportId, srcAnalysis) = mtdUpdateData.ImportValidateAnalyze(ImportId, PriceListFile, MappingName, Analyze, Preview); } );
thProcess.Start();
(rowCnt, ImportId) = FinalizeProcessForm(rowCnt, FileMatch, srcAnalysis);
tbRowCount_Hdr.Text = rowCnt.ToString("N0");
tbImportId_Hdr.Text = ImportId;
Timer_Stop();
return (rowCnt, FileMatch, ImportId, srcAnalysis);
}
为了澄清,ImportValidateAnalyze()是我想在单独线程上运行的长期过程。 在运行时,我希望计时器更新UI线程以表明该应用程序还活着。 除了计时器外,没有UI更新。