gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-29 20:21:06 25 4
gpt4 key购买 nike

我的问题是如何在 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;
}

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

关于c# - 在 Dispatchertimer.Tick 事件中发送一个额外的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13256164/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com