好! 我浪费了太多时间来解决这个问题,使Quartz.net在windows窗体上工作。 但是,我有一个通用的解决方案,我希望能帮助其他人。 像往常一样创建IJOB类 创建一个指向表单的静态指针 在主窗体中有一个名为的公共函数: public void Execute() public delegate void ExecuteCallback(); 在执行时,检查“是否需要调用” 构造委托,并调用Invoke。 然后希望所有线程问题都被删除,你可以调用任何控件,你可以重新安排Quartz工作等等。 public class RunMyTask: IJob { public static SalesBuddy.Form1 CurrentForm = null; public RunMyTask() { } public void Execute(IJobExecutionContext context) { if (CurrentForm.InvokeRequired) { SalesBuddy.Form1.ExecuteCallback x = new SalesBuddy.Form1.ExecuteCallback(CurrentForm.Execute); CurrentForm.Invoke(x); } else { CurrentForm.Execute(); } }
如何在Windows窗体中使用Quartz .net? - 或代码 (orcode.com)
标签:Execute,Quartz,CurrentForm,Windows,窗体,net,public From: https://www.cnblogs.com/roak/p/17167587.html