将对象传递给我的计时器

时间:2013-06-02 09:50:40

标签: c# winforms parameters sender

如果我在sender参数中检查调试器,我可以看到我的对象及其所有属性,但是如何访问这些属性?我试过MyClass mc = MyClass as sender,但它是空的。

这是我的计时器的刻度事件:

private void timerP_Tick(object sender, EventArgs e)
{
}

这是启动我的计时器的事件:

void class_startTimerEvent(MyClass class)
{
    timerP.Tag = class;

    if (InvokeRequired)
        this.Invoke((MethodInvoker)delegate { timerP.Start(); });
    else
        timerP.Start();
}

1 个答案:

答案 0 :(得分:6)

对于使用标准实现的EventHandlersender参数始终是引发事件的对象,在您的情况下,它是timerP对象。

因此,您可以使用

获取MyClass对象
var timer = (Timer) sender;
var myClass = (MyClass) timer.Tag;