У меня есть следующие события & функции:Ожидание события увольняют в функции
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;
}
}
Моя цель заключается в блокировании в функции, пока событие не срабатывает.
Да, наверное, нет. Вы в конечном итоге блокируете поток пользовательского интерфейса, и это заблокирует задание на печать, и вы в конечном итоге зашли в тупик. Лучше [править] и рассказывать нам, что вы делаете и что хотите, и почему вы считаете, что «блокировать» метод является решением. – Will
Возможно, вы могли бы переписать это как асинхронный/ожидающий. Вы, конечно, не хотите блокировать поток пользовательского интерфейса, пока он работает. –
Функция «PrintReportBlocking» может вызываться 5 раз подряд, и проблема в том, что событие перезаписывается, и принтер печатает один и тот же документ 5 раз. – xileb0