Добрый день. У меня есть исходная программа , которая контролирует состояние принтера (начало печати, остановка и т. Д.). Вот код, который отображает информацию о печати:
MethodInvoker invoker = () =>
{
lbSpoolChanges.Items.Add(e.JobID + " - " + e.JobName + " - " + e.JobStatus);
};
if (lbSpoolChanges.InvokeRequired)
{
Invoke(invoker);
}
else
{
invoker();
}`
Вы также можете вызвать свойство e.JobInfo.NumberOfPagesPrinted, и строка будет
lbSpoolChanges.Items.Add(e.JobID + " - " + e.JobName + " - " + e.JobStatus + " - " + e.JobInfo.NumberOfPagesPrinted);
но в отладочной ошибке выскакивает "Вызывающий поток не может получить доступ к этому объекту, так как владельцем этого объекта является другой поток .." Скажите, где вы хотите вызвать это свойство. Источник включен. А может кто-нибудь подсказать, как сделать так, чтобы автоматически контролировались все принтеры (например, 4), а не установленные в программе. Заранее спасибо.