[英]Monitoring program print
下午好。 我有一個監視打印機狀態(開始打印,停止等)的源程序 。 這是顯示有關打印信息的代碼:
MethodInvoker invoker = () =>
{
lbSpoolChanges.Items.Add(e.JobID + " - " + e.JobName + " - " + e.JobStatus);
};
if (lbSpoolChanges.InvokeRequired)
{
Invoke(invoker);
}
else
{
invoker();
}`
您也可以調用屬性e.JobInfo.NumberOfPagesPrinted,並且line將是
lbSpoolChanges.Items.Add(e.JobID + " - " + e.JobName + " - " + e.JobStatus + " - " + e.JobInfo.NumberOfPagesPrinted);
但是在調試錯誤中彈出“調用線程無法訪問該對象,因為該對象的所有者是另一個線程。。”告訴我您要在哪里調用此屬性。 包括來源。 有人可以告訴您如何做到這一點嗎?它會自動控制所有打印機(例如4台),而不是在程序中進行設置。 提前致謝。
如果您像這樣將調用程序編寫為Action並使用BeginInvoke傳遞委托參數,是否可行?
Action<string> invoker = (x) =>
{
lbSpoolChanges.Items.Add(x);
};
if (this.InvokeRequired)
{
this.BeginInvoke(invoker, e.JobID + " - " + e.JobName + " - " + e.JobStatus);
}
else
{
invoker(e.JobID + " - " + e.JobName + " - " + e.JobStatus);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.