C# 使用quartz将行添加到数据网格

C# 使用quartz将行添加到数据网格,c#,quartz-scheduler,quartz,C#,Quartz Scheduler,Quartz,我尝试使用以下代码使用quartz向datagrid添加一行。但在约定的时间什么也没发生。如何与Quartz中的Windows窗体控件交互 public class HelloJob : IJob { Form1 frm = new Form1(); public async Task Execute(IJobExecutionContext context) { await Task.Run(() => {

我尝试使用以下代码使用quartz向datagrid添加一行。但在约定的时间什么也没发生。如何与Quartz中的Windows窗体控件交互

public class HelloJob : IJob
{
    Form1 frm = new Form1();
    public async Task Execute(IJobExecutionContext context)
    {
        await Task.Run(() =>
        {
            frm.dataGridView1.Rows.Add(DateTime.Now.ToString("hh:mm:ss.fff"));
        });
    }
}

private async void button1_Click(object sender, EventArgs e)
{
    StdSchedulerFactory factory = new StdSchedulerFactory();
    IScheduler scheduler = await factory.GetScheduler();

    await scheduler.Start();

    IJobDetail job = JobBuilder.Create<HelloJob>()
        .WithIdentity("job1", "group1")
        .Build();

    ITrigger trigger = TriggerBuilder.Create()
        .WithIdentity("trigger1", "group1")
        .StartAt(DateTime.Today.Add(new TimeSpan(18, 00, 00)))
        .WithSimpleSchedule(x => x
            .WithInterval(TimeSpan.FromMilliseconds(50))
            .WithRepeatCount(30))
        .Build();

    await scheduler.ScheduleJob(job, trigger);

    await Task.Delay(TimeSpan.FromSeconds(30));

    await scheduler.Shutdown();

    Form1 frm = new Form1();
    frm.textBox1.Text = "Finish";
}
公共类HelloJob:IJob
{
Form1 frm=新Form1();
公共异步任务执行(IJobExecutionContext上下文)
{
等待任务。运行(()=>
{
frm.dataGridView1.Rows.Add(DateTime.Now.ToString(“hh:mm:ss.fff”);
});
}
}
私有异步无效按钮1\u单击(对象发送方,事件参数e)
{
StdSchedulerFactory=新StdSchedulerFactory();
isScheduler scheduler=wait factory.GetScheduler();
wait scheduler.Start();
IJobDetail job=JobBuilder.Create()
.WithIdentity(“工作1”、“组1”)
.Build();
ITrigger trigger=TriggerBuilder.Create()
.WithIdentity(“触发器1”、“组1”)
.StartAt(DateTime.Today.Add(新的时间跨度(18,00,00)))
.使用SimpleSchedule(x=>x
.WithInterval(时间跨度从毫秒(50))
.带重复计数(30))
.Build();
wait scheduler.ScheduleJob(作业,触发器);
等待任务延迟(时间跨度从秒(30));
wait scheduler.Shutdown();
Form1 frm=新Form1();
frm.textBox1.Text=“完成”;
}