簡體   English   中英

監控程序打印

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM