Csharp/C#教程:在Dispatchertimer.Tick事件中发送一个额外的参数分享


在Dispatchertimer.Tick事件中发送一个额外的参数

我的问题是如何在Dispatchertimer.Tick事件中发送一些参数这里是代码:我想要的是在dispatcheTimer_Tick接收一个整数值

dispatcherTimer.Tick += new EventHandler(dispatcherTimer_Tick); private void dispatcherTimer_Tick(object sender, EventArgs e) { //.Text = DateTime.Now.Second.ToString(); } 

我想做的是这样的事情

  private void dispatcherTimer_Tick(object sender, EventArgs e,int a) { //.Text = DateTime.Now.Second.ToString(); } 

如何从调用点发送值?

虽然有很多方法,但我发现在执行此操作时使用匿名方法关闭变量最方便:

 dispatcherTimer.Tick += (s, args) => myControl.Text = DateTime.Now.Second.ToString(); 

如果你有一些线条,你也可以做更多的事情:

 int number = 5; dispatcherTimer.Tick += (s, args) => { string value = someMethod(); string otherValue = DateTime.Now.Second.ToString() myControl.Text = value + otherValue + number; } 

如果你不仅仅有一些行,那么你可能仍然需要另一种方法,但是你可以使用lambda来调用该方法:

 int value = 5; dispatcherTimer.Tick += (s, args) => myRealMethod(someControl, value); public void myRealMethod(Control someControl, int value) { someControl.Text = value; } 

这对于在不需要时忽略事件处理程序委托的参数都很方便(我几乎从不使用sender ,如果我需要它,我自己传递实际对象,以便它不首先转换为object 。)以及添加在其他局部变量中。

如果您在附加事件处理程序时知道a ,则可以执行以下操作:

上述就是C#学习教程:在Dispatchertimer.Tick事件中发送一个额外的参数分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

 int a = 0; dispatcherTimer.Tick += (sender, e) => { /* a is available here */ }; 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1014161.html

(0)
上一篇 2021年12月30日
下一篇 2021年12月30日

精彩推荐