1

我想通过它的作业信息取消打印队列中的特定打印作业,但是当程序运行时取消代码出错

调用线程无法访问此对象,因为不同的线程拥有它。

代码在这里:

 void pqm_OnJobStatusChange(object Sender, PrintJobChangeEventArgs e)
    {
        MethodInvoker invoker = () =>
        {
            PrintSystemJobInfo t = e.JobInfo;
            printevent temp = new printevent(e);
            lbSpoolChanges.Items.Add(e.JobID+"  "+e.JobName);
            if (temp.getName().Contains("a.docx")){


                    t.Cancel();//caused error!!!!!
                lbSpoolChanges.Items.Add("Detected");
            }

        };
        if (lbSpoolChanges.InvokeRequired)
        {
            Invoke(invoker);
        }
        else
        {
            invoker();
        }

    }

你可以帮帮我吗?

4

0 回答 0