被解僱,我有以下事件&功能:等待一個事件的功能
static void rViewer_DocumentLoaded(object sender, EventArgs e)
{
//Do something
}
static RadPdfViewer rViewer = new RadPdfViewer();
static RadPrintDocument rpd = new RadPrintDocument();
internal static bool PrintReportBlocking(string sFileName, REPORT_TYPE reportType)
{
try
{
rpd = new RadPrintDocument();
rViewer = new RadPdfViewer();
rViewer.LoadDocument(sFileName);
rViewer.DocumentLoaded += rViewer_DocumentLoaded;
return true;
}
catch (Exception ex)
{
return false;
}
}
我的目標是在功能阻止,直到事件被激發。
呀,大概沒有。您最終會阻止UI線程,並且會阻止打印作業,最終會導致死鎖。更好地[編輯]並告訴我們你在做什麼,你想要發生什麼,以及爲什麼你認爲「阻止」該方法是一種解決方案。 – Will
您可能可以將其重寫爲異步/等待的事情。你當然不想在UI工作時阻塞UI線程。 –
「PrintReportBlocking」函數可以連續調用5次,問題是該事件正在被覆蓋,並且打印機將打印相同的文檔5次。 – xileb0