C# 是否获取从调度程序计时器事件处理程序返回的值?

C# 是否获取从调度程序计时器事件处理程序返回的值?,c#,wpf,dispatchertimer,C#,Wpf,Dispatchertimer,如何从调用位置的事件处理程序返回值?? 我想做的是这样的事情 "" int a = timer.Elapsed += new ElapsedEventHandler((sender, e) => on_time_event(sender, e, draw, shoul_l)); "" timer_start = true; timer.Interval =

如何从调用位置的事件处理程序返回值?? 我想做的是这样的事情

             ""  int a = timer.Elapsed += new ElapsedEventHandler((sender, e) => 
                on_time_event(sender, e, draw, shoul_l));   ""


                timer_start = true;
                timer.Interval = 2000;
                timer.Start();
                timer.Elapsed += new ElapsedEventHandler((sender, e) => 
                on_time_event(sender, e, draw, shoul_l));


                private int on_time_event(object sender, ElapsedEventArgs e,  
                DrawingContext dcrt, System.Windows.Point Shoudery_lefty)
                 {
                  .
                  .
                  .
                  .
                   return a_value;
                  }

将该值放在启动它的类的成员变量上。如果需要,使用锁以允许安全的多重处理。因为这是WPF,所以请使类遵守INotifyPropertyChanged并将其绑定到屏幕上的控件

编辑(根据OP的请求)

我会使用后台工作程序而不是计时器,但概念是一样的(请注意不要在计时器中更新GUI控件,但BW的设计允许这样做)

这就是工作发生的地方

void _backgroundWorker_DoWork( object sender, DoWorkEventArgs e )
{
   e.Result = "Jabberwocky"; 
}
这里是为GUI安全设置值的地方

void _backgroundWorker_RunWorkerCompleted( object sender, RunWorkerCompletedEventArgs e )
{
    Data = (string) e.Result;
}

有关控件的另一个示例,请参见我的博客:

将值放置在启动它的类的成员变量上。如果需要,使用锁以允许安全的多重处理。因为这是WPF,所以请使类遵守INotifyPropertyChanged并将其绑定到屏幕上的控件

编辑(根据OP的请求)

我会使用后台工作程序而不是计时器,但概念是一样的(请注意不要在计时器中更新GUI控件,但BW的设计允许这样做)

这就是工作发生的地方

void _backgroundWorker_DoWork( object sender, DoWorkEventArgs e )
{
   e.Result = "Jabberwocky"; 
}
这里是为GUI安全设置值的地方

void _backgroundWorker_RunWorkerCompleted( object sender, RunWorkerCompletedEventArgs e )
{
    Data = (string) e.Result;
}

有关控件的另一个示例,请参见我的博客:

如何和esp何时接收该值?我在这里只想在计时器事件处理程序调用时返回一个整数值。从调用事件处理程序的位置,我想执行类似操作,从事件处理程序返回一个值并将其存储在int中调用位置的define变量,如int a=timer.appeased+=new ElapsedEventHandler((发送方,e)=>on_time_事件(发送方,e,draw,shoul_l));你能看到时间(时间旅行)的问题吗?我不认为你能理解我,我也不知道。它应该很直接地告诉你“如何从事件处理程序返回值”您希望如何和esp何时接收该值?这里我只想在计时器事件处理程序从调用事件处理程序的位置调用时返回一个整数值。我想执行类似的操作从事件处理程序返回一个值,并将其存储在调用位置define at的int变量中int a=timer.appeased+=新的ElapsedEventHandler((发送方,e)=>在时间事件(发送方,e,draw,shoul)上);你能看到时间(时间旅行)的问题吗?我不认为你能理解我,我也不认为它应该对你很直接“如何从事件处理程序返回一个值”一个小代码可能会对他们非常有帮助,当涉及到C#和wpf@ahmad05有一个例子,我推荐一个背景工人,但是概念是一样的,一点代码可能对业余爱好者来说非常有用wpf@ahmad05有一个例子,我推荐一个背景工作者,但概念是一样的。