0

如果我检查参数内的调试器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();
}
4

1 回答 1

6

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

所以你可以使用你的MyClass对象

var timer = (Timer) sender;
var myClass = (MyClass) timer.Tag;
于 2013-06-02T09:54:47.057 回答