如果我在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();
}
答案 0 :(得分:6)
对于使用标准实现的EventHandler
,sender
参数始终是引发事件的对象,在您的情况下,它是timerP
对象。
因此,您可以使用
获取MyClass
对象
var timer = (Timer) sender;
var myClass = (MyClass) timer.Tag;